升级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-sdkv13.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
相关产品推荐
相关产品推荐

