You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级react-native-fbsdk-sdk至v13.0.0后iOS端两大问题求助

React Native Facebook SDK v13.0.0升级后问题排查

我在应用中使用react-native-fbsdk-sdk实现Facebook登录,近期收到Meta邮件要求升级FBSDKs至v17.0.0版本以适配苹果商店提交所需的Privacy Manifest,因此将react-native-fbsdk-sdk从^12.1.3升级到了^13.0.0。

升级后出现两个问题:


1. iOS有限登录界面警告无法隐藏

已按照文档编写代码:

try {
await LoginManager.logInWithPermissions(
['public_profile', 'email'],
'limited',
'my_nonce'
);

if (Platform.OS === 'ios') {
const result = await AuthenticationToken.getAuthenticationTokenIOS();
if (result?.authenticationToken)
loginSocial(result.authenticationToken, LoginProvider.FACEBOOK);
} else {
const result = await AccessToken.getCurrentAccessToken();
if (result) loginSocial(result.accessToken, LoginProvider.FACEBOOK);
}

但Facebook登录界面仍显示警告,如何为用户隐藏该警告?


2. AuthenticationToken无法拉取用户信息

虽然能通过AuthenticationToken.getAuthenticationTokenIOS()方法获取到token,但无法用该token拉取用户信息。


复现步骤

  • 升级或安装react-native-fbsdk-sdk v13.0.0版本

预期行为

  • Facebook登录界面不显示警告
  • 能通过AuthenticationToken正常获取用户信息

完整代码示例

...

 const pressFb = async () => {
    try {
      await LoginManager.logInWithPermissions(
        ['public_profile', 'email'],
        'limited',
        'my_nonce'
      );
      if (Platform.OS === 'ios') {
        const result = await AuthenticationToken.getAuthenticationTokenIOS();
        if (result?.authenticationToken)
          loginSocial(result.authenticationToken, LoginProvider.FACEBOOK);
      } else {
        const result = await AccessToken.getCurrentAccessToken();
        if (result) loginSocial(result.accessToken, LoginProvider.FACEBOOK);
      }
    } catch (error) {
      onClose();
      console.log('error', error);
    }
  };
...

<Button.Primary label={translate('auth.continueWithFacebook')} outline leftIcon={'IC_FB'} style={BTN_LOGIN} labelStyle={TXT_BTN} onPress={pressFb} /> 
...

环境信息

  • 系统:
    • OS: macOS 14.2.1
    • CPU: (8) arm64 Apple M1
    • 内存: 106.08 MB / 8.00 GB
    • Shell: 5.9 - /bin/zsh
  • 二进制工具:
    • Node: 18.18.0 - ~/.nvm/versions/node/v18.18.0/bin/node
    • Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    • npm: 9.8.1 - ~/.nvm/versions/node/v18.18.0/bin/npm
    • Watchman: 2024.03.18.00 - /opt/homebrew/bin/watchman
  • 包管理器:
    • CocoaPods: 1.12.0 - /Users/drake/.rvm/gems/ruby-2.7.6/bin/pod
  • SDK:
    • iOS SDK: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, watchOS 10.2
    • Android SDK: 未找到
  • IDE:
    • Android Studio: 2022.1 AI-221.6008.13.2211.9477386
    • Xcode: 15.1/15C65 - /usr/bin/xcodebuild
  • 语言:
    • Java: 17.0.10 - /usr/bin/javac
  • npm包:
    • @react-native-community/cli: 未找到
    • react: 18.2.0 => 18.2.0
    • react-native: 0.71.3 => 0.71.3
    • react-native-macos: 未找到

内容的提问来源于stack exchange,提问作者Lê Hoàng Chinh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 22:50:04