2015-06-18 7 views
10

Wir verwenden FBSDKLoginManager mit unserer eigenen Benutzeroberfläche für die Anmeldung bei Facebook. Manchmal schlägt die Anmeldung jedoch mit dem Fehlercode 308 fehl.FBSDKLoginManager schlägt mit Fehlercode - 308

Der Grund dafür ist - FBSDKLoginBadChallengeString, ich habe überall im Internet gesucht, um den Grund dafür herauszufinden, aber hatte kein Glück.

Gibt es eine Erklärung, warum dieser Fehler auftritt und wie er gelöst werden kann?

+0

haben Sie sich das angesehen? http://stackoverflow.com/questions/30643122/ios-parse-facebook-login-error-308-fbsdkloginbadchallengestring – lamdadj22

+0

.. und das? http://StackOverflow.com/a/31480026/383919 – coco

Antwort

2

Der Grund für diesen Fehler war, dass mein Anmelde- und Abmeldecode zwei verschiedene Instanzen des FBSDKLoginManagers verwendet hat.

siehe meine Antwort hier https://stackoverflow.com/a/32659830/4068264

(I in die Gemeinschaft nicht den Ruf für Kommentare haben, so entschuldige mich, wenn diese Antwort in der Kategorie der „Antwort“ nicht fallen)

0

Dies ist, wie ich reproduziert und die com.facebook.sdk.login Fehler behoben 308.

Benutzer A Protokolle auf Facebook, dann in meine App anmeldet, meldet sich endlich aus meiner app mit dem beliebten:

func logOutFromFacebook(){ 

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

      let loginManager = FBSDKLoginManager() 
      loginManager.logOut() 
    } 
} 

Jetzt meldet sich Benutzer B bei Facebook an, meldet sich bei meiner App an und com.facebook.sdk.login Fehler 308 taucht auf.

Wenn ich die App neu installiere, kann sich der neue Benutzer ohne Probleme anmelden, aber sicherlich möchte ich nicht, dass die Leute die App jedes Mal neu installieren, wenn ein Kontowechsel stattfindet.

Die Lösung, die dieses Problem gelöst war FBSDKAccessToken.setCurrentAccessToken (nil), wie unten zu verwenden:

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

    } 
} 

Hoffe, dass es jemand hilft!

0

Wie Problem zu beheben in iOS10 für Facebook Login

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

Danach können Sie die Daten für Facebook.

Hoffentlich wird es Ihnen helfen.

Danke Mandeep Singh

+0

Ich habe Keychain-Zugriff in Xcode aktiviert, aber immer noch 308 Fehler. Ich habe viel ausprobiert. Bitte helfen Sie. –

+0

@EktaPadaliya, ja Mama wie kann ich dir helfen. Können Sie mir eine kurze Beschreibung Ihres Problems geben –

+0

Ich bekomme "Die Operation konnte nicht abgeschlossen werden. (Com.facebook.sdk.login Fehler 308.)" Wenn Sie versuchen, mit Facebook einloggen. Ich verwende SDK 4.22.1. –

Verwandte Themen