Facebook FBSDKLoginManager失败,错误代码为-308

Facebook FBSDKLoginManager失败,错误代码为-308,facebook,facebook-login,Facebook,Facebook Login,我们正在使用FBSDKLoginManager和我们自己的用户界面登录facebook。但是,有时登录失败,错误代码为308 根据文件,原因是-fbsdkloginbaddchallengestring,我已经在互联网上搜索了所有的原因,但没有找到运气 关于发生此错误的原因以及如何解决此错误的任何解释?我出现此错误的原因是我的登录和注销代码使用了FBSDKLoginManager的两个不同实例 看到我的答案了吗 (我没有评论的名声,因此如果此回复不属于“回答”类别,我向社区道歉)这就是我复制并解

我们正在使用FBSDKLoginManager和我们自己的用户界面登录facebook。但是,有时登录失败,错误代码为
308

根据文件,原因是-
fbsdkloginbaddchallengestring
,我已经在互联网上搜索了所有的原因,但没有找到运气


关于发生此错误的原因以及如何解决此错误的任何解释?

我出现此错误的原因是我的登录和注销代码使用了FBSDKLoginManager的两个不同实例

看到我的答案了吗


(我没有评论的名声,因此如果此回复不属于“回答”类别,我向社区道歉)

这就是我复制并解决com.facebook.sdk.login错误308的方式

用户A登录Facebook,然后登录我的应用程序,最后使用流行的:

func logOutFromFacebook(){

   if (FBSDKAccessToken.currentAccessToken() != nil){

           let loginManager = FBSDKLoginManager()
           loginManager.logOut()
    }
}
现在用户B登录到Facebook,登录到我的应用程序,出现com.Facebook.sdk.login错误308

如果我重新安装应用程序,新用户可以毫无问题地登录,但我当然不希望人们每次有帐户切换时都重新安装应用程序

解决此问题的解决方案是使用FBSDKAccessToken.setCurrentAccessToken(nil),如下所示:

func logOutFromFacebook(){

   if (FBSDKAccessToken.currentAccessToken() != nil){

     FBSDKAccessToken.setCurrentAccessToken(nil)

        By itself I had no use for it, maybe you might want to uncomment.
        //   let loginManager = FBSDKLoginManager()
        //   loginManager.logOut()

    }
}

希望它能帮助别人

如何在iOS10中解决Facebook登录的问题

Error OSStatus -10814 occures when canOpenURL: can't find any application, that can open this URL (actually, Facebook trying to find their application by calling canOpenURL: with argument "fbauth2:/"). Printing happens inside of function, so you can't do anything with that. But if you will run your application on device with installed Facebook app, you will not see this error.

Error 308 occures because of the situation, when value, stored in keychain is not equal to value, that is stored in facebook completion parameters (for more information you can check -[FBSDKLoginManager completeAuthentication:expectChallenge:]).

It happens because Apple changed the way of working with keychain in iOS 10. To fix this issue you simply should go to **Targets**->**Capabilities** and **enable keychain sharing** (it enables access to keychain for your app): 
之后,您可以获取Facebook的数据

希望它能帮助你


谢谢Mandeep Singh使用以下播客

  pod 'FacebookCore', '~> 0.5.0'
  pod 'FacebookLogin', '~> 0.5.0'
  pod 'FacebookShare', '~> 0.5.0'
  pod 'FBSDKCoreKit', '~> 4.37.0'
  pod 'FBSDKLoginKit', '~> 4.37.0'
  pod 'FBSDKShareKit', '~> 4.37.0'
 pod 'FacebookCore', '~> 0.5.0'
 pod 'FacebookLogin', '~> 0.5.0'
 pod 'FacebookShare', '~> 0.5.0'
 pod 'FBSDKCoreKit', '~> 4.37.0'
 pod 'FBSDKLoginKit', '~> 4.37.0'
 pod 'FBSDKShareKit', '~> 4.37.0'

在登录之前,还要在FBSDKLoginManager上调用logOut(),请使用以下POD

  pod 'FacebookCore', '~> 0.5.0'
  pod 'FacebookLogin', '~> 0.5.0'
  pod 'FacebookShare', '~> 0.5.0'
  pod 'FBSDKCoreKit', '~> 4.37.0'
  pod 'FBSDKLoginKit', '~> 4.37.0'
  pod 'FBSDKShareKit', '~> 4.37.0'
 pod 'FacebookCore', '~> 0.5.0'
 pod 'FacebookLogin', '~> 0.5.0'
 pod 'FacebookShare', '~> 0.5.0'
 pod 'FBSDKCoreKit', '~> 4.37.0'
 pod 'FBSDKLoginKit', '~> 4.37.0'
 pod 'FBSDKShareKit', '~> 4.37.0'

在登录之前还要在FBSDKLoginManager上调用logOut()

您看过这个吗。。这个呢?我已经在xcode中启用了密钥链访问,但仍然出现308错误。我试了很多。请帮忙。@EktaPadaliya,是的,妈妈,我能帮你什么忙吗。你能简要描述一下你的问题吗?我在尝试登录facebook时遇到“操作无法完成。(com.facebook.sdk.login error 308)。”。我正在使用SDK 4.22.1。你能和我分享你的项目吗?这样我就可以正确地审查它,并尽快向你提供更新。