2015-06-18 11 views
10

Stiamo utilizzando FBSDKLoginManager con la nostra interfaccia utente per l'accesso a Facebook. Tuttavia a volte l'accesso non riesce con il codice di errore 308.FBSDKLoginManager non riesce con codice errore - 308

Come per i documenti il ​​motivo è - FBSDKLoginBadChallengeString, ho cercato su Internet per scoprire il motivo di questo, ma non ho avuto fortuna.

Qualsiasi spiegazione sul motivo per cui si verifica questo errore e su come risolverlo?

+0

hai guardato questo? http://stackoverflow.com/questions/30643122/ios-parse-facebook-login-error-308-fbsdkloginbadchallengestring – lamdadj22

+0

.. e questo? http://stackoverflow.com/a/31480026/383919 – coco

risposta

2

Il motivo per cui ho riscontrato questo errore era che il mio codice di accesso e disconnessione utilizzava due diverse istanze di FBSDKLoginManager.

vedere la mia risposta qui https://stackoverflow.com/a/32659830/4068264

(non ho la reputazione di commenti in modo scuse alla comunità, se questa risposta non rientrano nella categoria di "risposta")

0

Ecco come ho riprodotto e risolto l'errore com.facebook.sdk.login 308.

utente a accede a Facebook, quindi accede al mio app, infine, registra dalla mia applicazione utilizzando il popolare:

func logOutFromFacebook(){ 

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

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

Ora l'utente B accede a Facebook, accede alla mia app e l'errore com.facebook.sdk.login 308 si presenta.

Se reinstallo l'app il nuovo utente può accedere senza problemi ma certamente non voglio che le persone reinstallino l'app ogni volta che c'è un cambio di account.

La soluzione che ha risolto questo problema è stato quello di utilizzare FBSDKAccessToken.setCurrentAccessToken (pari a zero), come di seguito:

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

    } 
} 

Speranza che aiuta qualcuno!

0

Come risolvere problema in iOS10 per 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): 

Dopo di che è possibile ottenere i dati per Facebook.

Speriamo che ti possa aiutare.

Grazie Mandeep Singh

+0

Ho abilitato l'accesso con portachiavi in ​​xcode, ma ricevo comunque 308 errori. Ho provato molto. Per favore aiuto. –

+0

@EktaPadaliya, si, mamma, come posso aiutarti? Puoi darmi una breve descrizione del tuo problema –

+0

Ricevo "L'operazione non può essere completata. (Com.facebook.sdk.login error 308.)" quando provi ad accedere con facebook. Sto utilizzando l'SDK 4.22.1. –

Problemi correlati