2015-06-18 74 views
10

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

根据文档的原因是 - FBSDKLoginBadChallengeString,我在互联网上搜索了所有的原因,但没有运气。

任何解释为什么会出现此错误以及如何解决它?

+0

你看过吗? http://stackoverflow.com/questions/30643122/ios-parse-facebook-login-error-308-fbsdkloginbadchallengestring – lamdadj22

+0

..和这? http://stackoverflow.com/a/31480026/383919 – coco

回答

2

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

在这里看到我的回答https://stackoverflow.com/a/32659830/4068264

(我没有征求意见的声誉所以道歉,向社会,如果这种反应并不在“答案”的范畴下降)

0

这是我转载

func logOutFromFacebook(){ 

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

      let loginManager = FBSDKLoginManager() 
      loginManager.logOut() 
    } 
} 
:和解决com.facebook.sdk.login错误308

用户A登录到Facebook上,然后登录到应用中,采用了流行的最后记录我的应用程序的出

现在用户B登录到Facebook,登录到我的应用程序和com.facebook.sdk.login错误308显示出来。

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

已经解决了这个问题的解决方案是使用FBSDKAccessToken.setCurrentAccessToken(无)如下:

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() 

    } 
} 

希望它可以帮助别人!

0

如何解决问题iOS10Facebook的登录

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的数据。

希望它能帮助你。

谢谢曼迪普辛格

+0

我已经在xcode中启用了钥匙串访问,但仍然收到308错误。我尝试了很多。请帮忙。 –

+0

@EktaPadaliya,是妈妈,我可以帮你。你能给我简要描述一下你的问题吗 –

+0

当我尝试用facebook登录时,我得到“操作无法完成(com.facebook.sdk.login错误308.)”。 我正在使用SDK 4.22.1。 –

相关问题