32 votes

Erreur com.facebook.sdk 2 sur iOS

J'ai un Phonegap application qui s'exécute sur les deux iOS et Android. L'application dispose d'un Facebook login qui a travaillé jusqu'à il y a quelques jours. Quelques-uns de nos bêta-testeurs ont rapporté un 'L'opération ne pouvait pas être complété com.facebook.sdk d'erreur 2 erreur". Les dispositifs de ces testeurs varier: iPhone 5, iPhone 4s, iPod Touch, iOS 5.1.1 et iOS 6.0.

Nous utilisons les dernières Facebook SDK et Phonegap Facebook login plugin (https://github.com/davejohnson/phonegap-plugin-facebook-connect/).

J'ai fait quelques recherches et trouvé les raisons suivantes pour lesquelles cette erreur peut se produire:

  • BundleIdentifier et BundleURLName dans mes infos.fichier plist ne correspond pas à l'ID de l'offre sous iOS Native app dans les paramètres de mon Facebook app.
  • L'application est toujours en mode Sandbox
  • L'application est désactivée dans le Facebook Settings (paramètres de dispositif -> Facebook -> Permettre à Ces Applications À Utiliser Votre Compte).
  • iOS 6.0 ne permet pas pour le fait de poser des autorisations lire et écrire en même temps (je ne sais pas si j'ai ce droit).

Ce qui suit est le cas:

C'est un très contradictoires bug (dans mon cas). Je ne peux que reproduire l'erreur moi-même si j'éteins l'application de "Permettre à Ces Applications, Utiliser Votre Compte" (dans mon cas, l'application figure dans la liste), mais je peux facilement corriger l'erreur en permettant à l'application de nouveau. À l'heure actuelle la plupart des testeurs n'ont pas ce bug (ou plus), mais l'erreur reste sur un iPod (où l'application n'est pas répertorié dans "Permettre à Ces Applications, Utiliser Votre Compte" soit).

Quelqu'un a une idée de pourquoi je vais avoir ce bug?

17voto

Sammy Points 512

S'avère: un com.facebook.sdk 2 erreur peut se traduire par un certain nombre de choses. Je suis à la recherche d'une sorte de Facebook SDK erreur de traduction de la table, mais je n'arrive pas à en trouver un. Dans mon cas: La com.facebook.sdk 2 erreur se produit parce que la connexion a expiré. Les utilisateurs qui ont obtenu cette erreur a eu un mauvais réseau/connexion WiFi.

Nous avons mis en place une journalisation des erreurs de système, qui a enregistré les détails de l'erreur à chaque fois qu'une erreur s'est produite lors de la connexion à Facebook. Dans les journaux on pouvait voir un com.facebook.sdk d'erreur 2 passe beaucoup de choses, mais il être résolu à chaque fois que l'utilisateur a tenté de se connecter à nouveau après quelques secondes.

Il peut être dû à mon incapacité à trouver le droit de la documentation, mais j'ai été et je suis encore assez frustré au sujet de l'imprécision de ces SDK erreurs. Il y a beaucoup de documentation à propos de l'autorisation de demander (ce qui peut entraîner dans la com.facebook.sdk d'erreur 2), mais apparemment, cette erreur peut être causée par plusieurs choses. Il serait agréable de voir ce documenté quelque part aussi bien.

6voto

seans23 Points 106

Cela s'est produit pour une application que j'utilisais. J'ai pu contourner ce problème en accédant aux paramètres de mon iPhone, en sélectionnant Facebook, en appuyant sur mon nom et en cliquant sur «supprimer le compte».

Ensuite, j'ai pu me connecter avec l'application sans problème.

Je suis retourné aux réglages | facebook et resoumis mes informations d'identification.

L'application fonctionne toujours bien.

5voto

coolcool1994 Points 526

J'avais ce bogue lorsque j'ai oublié de vérifier l'Application iOS native (dans la page Développeurs Facebook) et de saisir mon ID d'ensemble, qui est identique à l'identifiant d'ensemble dans votre projet Xcode. (y compris le nom de votre projet à la fin.) J'ai également paramétré la page Développeurs de Facebook qui active le mode SandBox. J'ai aussi désactivé le mode Sandbox pour obtenir ce travail.

4voto

kokoko Points 536

Je cherchais depuis longtemps la raison de cette erreur dans la mesure où je travaillais avec le vieil iOS 5.0 pour une plus grande couverture des appareils. Je viens de recevoir l'erreur 400 via le débogage de la demande facebook. Alors, finalement, j'ai compris que la raison était dans FBSessionDefaultAudience pour FBSession inconnue (les tests étaient effectués à la version 6.0 ou plus et l'API facebook native m'avait donné une raison d'erreur). Et quand j'ai utilisé

 + (BOOL)openActiveSessionWithPublishPermissions:(NSArray*)publishPermissions
                                defaultAudience:(FBSessionDefaultAudience)defaultAudience
                                   allowLoginUI:(BOOL)allowLoginUI
                              completionHandler:(FBSessionStateHandler)handler;
 

cette erreur a finalement disparu.

1voto

Kyle Clegg Points 8441

ESSAYEZ D'ABORD:

 Go to Settings app -> Facebook -> Your App -> Switch it off and back on again.
 

Cela a fonctionné pour moi et ne m'a pas obligé à supprimer le compte fb et à me reconnecter comme le suggère @ seans23. Si cela n’avait pas fonctionné, j’aurais déjà essayé, mais c’est apparemment une astuce pour réinitialiser l’État.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X