Ios FB SDK错误:登录失败(反应本机)

Ios FB SDK错误:登录失败(反应本机),ios,react-native,fbsdk,react-native-fbsdk,Ios,React Native,Fbsdk,React Native Fbsdk,我目前正在为我的Reach本机应用程序设置Facebook身份验证。在react原生fbsdk设置出现常见问题之后,Facebook应用程序事件开始工作,LoginManager开始加载 我的问题:授权后,LoginManager将我重定向回应用程序,然后向我显示错误: 登录失败 我使用的是非常标准的LoginManager实现: const FBSDK = require('react-native-fbsdk'); const { LoginManager, AccessToken,

我目前正在为我的Reach本机应用程序设置Facebook身份验证。在react原生fbsdk设置出现常见问题之后,Facebook应用程序事件开始工作,LoginManager开始加载

我的问题:授权后,LoginManager将我重定向回应用程序,然后向我显示错误:

登录失败

我使用的是非常标准的LoginManager实现:

const FBSDK = require('react-native-fbsdk');
const {
  LoginManager,
  AccessToken,
} = FBSDK;


export default class FacebookAuth extends Component {

  facebook(){
    LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(
  function(result) {
    if (result.isCancelled) {
      alert('Login cancelled');
    } else {
      alert('Login success with permissions: '
        +result.grantedPermissions.toString());
    }
  },
  function(error) {
    alert('Login fail with error: ' + error);
  }
);
你有什么建议给我吗

我已经检查过:

  • info.Plist中的FB应用程序信息
  • Facebook应用程序中的iOS捆绑ID
  • 客户端OAuth设置
  • FBSDK登录按钮(相同错误)
我正在运行:iOS 10和react native 0.38.0


谢谢

我想,我解决了这个问题。 我仍然不完全清楚原因,但这与此有关:

启用密钥链访问后,身份验证工作。

问题是Facebook SDK仍然保留着上一个会话令牌,当我再次尝试登录时,我遇到了这个错误,要解决这个问题,我所要做的就是从LoginManager调用logOut方法

LoginManager.logInWithReadPermissions…

LoginManager.logOut();

根据卡西亚诺·蒙塔纳里(Cassiano Montanari)的评论,从4.39.0降到4.38.0是解决办法。整个下午我都在为这件事苦苦挣扎,降级立即解决了问题。

在尝试了几个小时不同的解决方案后,多亏卡西亚诺·蒙塔纳里和扎瓦德在这里的评论,我成功地解决了问题

我最终得到了以下配置:

Pod文件:

  pod 'FBSDKCoreKit', '4.38.0'
  pod 'FacebookSDK', '4.38.0'
  pod 'FBSDKShareKit', '4.38.0'
  pod 'FBSDKLoginKit', '4.38.0'
您需要确保在带有库的链接二进制文件中添加
libRCTFBSDK.a
,并从pod文件中删除
'react-native-fbsdk',:path=>'../node\u modules/react-native fbsdk'

我的问题在我将FBSDK升级到4.39之后开始出现,如果我使用
pod'react native FBSDK',:path=>'../node\u modules/react native FBSDK'
,我找不到任何方法将SDK版本指定到pod文件中


我认为有一种选择是使用,但我还没有尝试过。

这个答案为我节省了很多时间。谢谢Yifan。这真的帮了我的忙,但这对我来说并不奏效,它只是发生在iOSI上。我在登录之前添加了Keychain共享,LoginManager.logOut(),但什么都解决不了。解决的问题是使用Facebook SDK 4.38.0而不是最新版本(Facebook SDK 4.39.0)。谢谢,这解决了我的问题。我在登录之前添加了密钥链共享,LoginManager.logOut(),但没有为我解决任何问题。解决的方法是使用Facebook SDK 4.38.0而不是最新版本(Facebook SDK 4.39.0)。我在登录之前添加了密钥链共享,LoginManager.logOut(),但没有解决任何问题。解决的办法是使用Facebook SDK 4.38.0而不是最新版本(Facebook SDK 4.39.0)。我在RN 0.57.5上也经历了同样的事情。它也为我工作。野虫子!