Ceci est plus informatif que tout. Pendant toute ma vie, je ne pouvais rien trouver sur le code d'erreur 8 lorsque je tentais d'accéder à l'invite de connexion (ou safari) lors du débogage de mon application ios. Après avoir cliqué sur le bouton de connexion à Facebook dans mon application, celui-ci tenterait d'ouvrir Safari, puis de me renvoyer à la page de connexion à mon application. L'erreur était provoquée par le tableau d'autorisations. J'avais la permission "public_profile" orthographiée "profil public", ce qui provoquait une erreur évidente. Assurez-vous donc que votre permission est de type corrigé si vous obtenez l’erreur 8 com.facebook.sdk.core.
J'espère que ça aide quelqu'un.
Assurez-vous que vos autorisations sont correctement saisies
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if error == nil {
println("login complete")
self.performSegueWithIdentifier("showLogin", sender: self)
}else{
println(error.localizedDescription)
//com.facebook.sdk.core error 8.
}
}
Dans mon cas, j'utilisais un compte Facebook qui n'avait encore été ajouté à aucun des rôles d'administrateur/de développeur/de testeur de l'application Facebook.
Dans mon cas, cette erreur a été causée par un identifiant de lot incorrect défini dans les paramètres facebook de l'application elle-même. Facebook "bundle id" est sensible à la casse. Dans mon Info.plist, j'avais un nom de produit en majuscule, mais dans les paramètres fb - minuscule.
Dans mon cas, après plusieurs heures de débogage, j’ai découvert que j’utilisais l’API,
func application(application: UIApplication,
openURL url: NSURL, options: [String: AnyObject]) -> Bool {
if #available(iOS 9.0, *) {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: options)
} else {
// Fallback on earlier versions
}
return true
}
qui est obsolète pour iOS 9.Alors, j'ai utilisé:
func application(application: UIApplication,
openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
return true
}
Ce qui a fonctionné pour moi J'espère que cela fait gagner du temps à quelqu'un.
HOMME!!! Dans mon cas, c'était la "bio" dans le paramètre qui causait cette erreur. Facebook a changé la clé "bio" en "à propos de". Donc, toute personne utilisant "bio" dans les paramètres devrait changer "en"
Pheww !!!
Dans mon cas, c'était la mauvaise version. Au lieu de version: "v2.7" , j'ai utilisé version: "2.7"
Dans mon cas, c’est parce que j’ai inscrit name
deux fois dans le tableau fields. Supposons que cela s’applique à tout champ demandé deux fois.
Dans mon cas, j'ai essayé d'obtenir Facebook Id sans me connecter à Facebook. Assurez-vous d'être connecté à Facebook.
let accessToken = FBSDKAccessToken.current()
if accessToken != nil {
self.getCurrentUserFbId()
print("LoggedIn")
} else {
print("Not loggedIn")
self.loginIntoFacebook()
}
J'espère que cela vous sera utile.
Quand cela m'est arrivé, j'ai découvert que le jeton d'accès de Facebook avait expiré. Quelqu'un a décidé de stocker le jeton d'accès dans UserDefaults
et de le réutiliser ultérieurement. Bien sûr, tous les jetons âgés de plus de 2 mois étaient périmés.
Dans mon cas, je jouais avec l'API Facebook Ads et j'ai essayé d'obtenir un champ mais le nom était faux.
J'avais insights {date_start, date_end} au lieu d'insights {date_start, date_stop}.
Plus d'infos ici .
J'espère que ça aide quelqu'un.
Dans mon cas, c'était à cause de GraphRequest.
La réponse d'erreur est
"com.facebook.sdk: FBSDKErrorDeveloperMessageKey" = "Erreur de syntaxe \" Fin de chaîne attendue au lieu de\"% \".\"au caractère 5: email% 2Cname% 2Cgender% 2Cpicture". . "com.facebook.sdk: FBSDKGraphRequestErrorCategoryKey" = 0; "com.facebook.sdk: FBSDKGraphRequestErrorGraphErrorCode" = 2500; "com.facebook.sdk: FBSDKGraphRequestErrorHTTPStatusCodeKey" = 400; "com.facebook.sdk: FBSDKGraphRequestErrorParsedJSONResponseKey" = { corps = { erreur = { code = 2500; "fbtrace_id" = AFEUYbcYP39; message = "Erreur de syntaxe \" Fin de chaîne attendue au lieu de\"% \".\"au caractère 5: email% 2Cname% 2Cgender% 2Cpicture"; type = OAuthException; }; }; code = 400; };
Le problème à ce sujet est https://github.com/facebook/facebook-Swift-sdk/issues/309
J'ai eu le même problème. C'est parce que je n'ai pas implémenté la fonctionnalité de connexion à Facebook. Après avoir ajouté cela, je me suis connecté et mon problème a été résolu.