web-dev-qa-db-fra.com

L'opération n'a pas pu être terminée. (erreur com.facebook.sdk 2.) ios6

Salut, je me sers de ios6 pour la connexion à Facebook et je reçois cette erreur en tant que popup natif

L'opération n'a pas pu être terminée. (erreur com.facebook.sdk 2.) 

C'est le scénario que j'ai utilisé. ( Je lance ceci sur simularor )

Je me suis connecté à l'application facebook via les paramètres et j'ai essayé de me connecter à mon application pour que tout fonctionne correctement. 

Ensuite, je me suis déconnecté de Facebook à partir des paramètres et me suis reconnecté avec un autre utilisateur. Ensuite, j'ai essayé de me connecter à l'application. Je reçois cette erreur. 

J'ai essayé de me déconnecter de l'application à l'aide de la commande

[FBSession.activeSession closeAndClearTokenInformation];

Mais pas d'utilisation. 

L'identifiant du paquet dans l'application facebook est identique à celui de mon application ios. 

c'est le code que j'ai utilisé pour me connecter

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];
    [FBSession openActiveSessionWithReadPermissions:permissions
                                       allowLoginUI:YES
                                  completionHandler:
     ^(FBSession *session,
       FBSessionState state, NSError *error) {
         [self sessionStateChanged:session state:state error:error];
     }];

Toute aide est appréciée. 

C'est l'erreur que je reçois 

Domain = com.facebook.sdk Code = 2 "L’opération n’a pas pu être terminée. (Erreur com.facebook.sdk 2.)" UserInfo = 0x9535330. {com.facebook.sdk: ErrorLoginFailedReason = com.facebook.sdk: SystemLoginDisallowedWithoutError, com.facebook.sdk: ErrorSessionKey =, expirationDate: (null), refreshDate: (null), tentéRefreshDate: 0001-12-30 00:00:00 +0000, autorisations: (null)>}

NOTE J'ai eu la même erreur à une autre occasion. A cette époque c'était un bug dans mon code

Au lieu de donner la permission en tant que 

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",@"birthday", nil];

je le faisais à tort comme 

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email,birthday", nil];

SOLUTION Même après avoir corrigé le code, la même erreur se produisait. Je dois me déconnecter et me connecter à Facebook à partir de l'écran des paramètres ios. Une fois que j'ai fait cela, le code correct n'a jamais posé de problème. Notez que le problème ne s'est produit que sur le périphérique ayant précédemment exécuté le code de bug. Notez bien ce qui a causé le problème, J'espère que cette information aidera quelqu'un 

22
M S

Cela a fonctionné pour moi:

  • Accédez à l'application de configuration de votre iPhone.
  • Ouvrez vos paramètres Facebook
  • Faites défiler jusqu'à votre application et assurez-vous que celle-ci autorise les interactions avec Facebook

Cela peut arriver sur n'importe quel appareil. Par conséquent, dans votre application, vous devrez vous assurer de gérer correctement cette erreur .. Je pense que vous donnez à l'utilisateur les raisons pour lesquelles la connexion avec Facebook a échoué et demandez à l'utilisateur de vérifier ses paramètres Facebook sur son appareil. .

 - (void)facebookSessionStateChanged:(FBSession *)session state:(FBSessionState)state error:(NSError *)error
{
    switch (state) {
        case FBSessionStateOpen:
            // handle successful login here
        case FBSessionStateClosed:
        case FBSessionStateClosedLoginFailed:
            [FBSession.activeSession closeAndClearTokenInformation];

            if (error) {
                // handle error here, for example by showing an alert to the user
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Could not login with Facebook"
                                                                message:@"Facebook login failed. Please check your Facebook settings on your phone."
                                                               delegate:nil
                                                      cancelButtonTitle:@"OK"
                                                  otherButtonTitles:nil];
                [alert show];
            }
            break;
        default:
            break;
    }
23
Bocaxica

vérifiez votre identifiant Bundle pour votre projet et donnez-lui l'identifiant Bundle de votre application qui crée sur developer.facebook.com le fait qu'ils sont identiques ou non.

9
Sumit Mundra

Une autre cause possible de cette erreur: Tentative d’obtenir l’autorisation d’une application Facebook en mode bac à sable lorsque l’utilisateur Facebook n’est pas répertorié dans les administrateurs, les développeurs ou les testeurs de l’application.

8
nephtes

Je résous mon problème en donnant la permission nil pendant la connexion.

[FBSession openActiveSessionWithReadPermissions:nil
                                       allowLoginUI:YES
                                  completionHandler:
3
Kirit Vaghela

J'ai eu le même problème et j'ai pris toute une journée pour comprendre le problème. Ce message d'erreur de Facebook SDK est très vague. J'ai eu ce problème dû à openURL: la méthode était écrasée dans MyApplication. J'ai supprimé la méthode écrasée et la connexion à Facebook a bien fonctionné.

0
Sandhya Gade

J'ai eu un problème similaire. l'erreur se produit lorsque le i a changé le réglage de l'utilisateur fb. L'autorisation Facebook échoue sur iOS6 lors du changement de compte FB sur un périphérique Cela a résolu mon problème

0
M S

Pour moi, le problème était les autorisations non valides - je demandais "anniversaire" au lieu de "utilisateur_anniversaire". C'est dommage que le message d'erreur ne soit pas au moins minimalement descriptif: le simple fait de dire "autorisations non valides" plutôt que ERROR CODE 2 m'aurait fait gagner beaucoup de temps.

0
Josh Liptzin