2015-06-18 73 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。 –

相關問題