Facebook autorisation échoue sur iOS6 lors de la commutation de compte FB sur le périphérique

Je suis l'aide de mourir Facebook SDK 3.1.1 à mettre en œuvre FB Connect dans mon application iOS. Cela fonctionne bien dans le cas simple avec le nouveau FB intégration (connecté sur iOS) ou de revenir à la normale d'autorisation via l'affichage web (je n'ai pas la native Facebook application installée dans les deux cas).
Le problème survient lorsque je passe du compte sur iOS niveau. De vous déconnecter et de vous connecter avec un autre FB compte d'utilisateur.

De connexion/autoriser j'ai effectuer:

[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:allowLoginUI
                                     completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                         [self sessionStateChanged:session state:state error:error];
                                     }];

Si ensuite obtenir un FBSessionStateClosedLoginFailed à chaque fois, même si j'ai effectuer une closeAndClearTokenInformation lorsque cet état est atteint:

- (void)sessionStateChanged:(FBSession *)session
                  state:(FBSessionState) state
                  error:(NSError *)error
{
    NSLog(@"Session State Changed: %u", [[FBSession activeSession] state]);
    switch (state) {
        case FBSessionStateOpen:
            break;
        case FBSessionStateClosed:
        case FBSessionStateClosedLoginFailed:
            NSLog(@"FBSessionStateClosedLoginFailed ERROR: %@", [error description]);
            [[FBSession activeSession] closeAndClearTokenInformation];
            break;
        default:
            break;
}

Cependant, je reçois le même état à chaque nouvelle tentative. Mon journal est dit ce qui suit:

FBSDKLog: FBSession **INVALID** transition from FBSessionStateCreated to FBSessionStateClosed
FBSDKLog: FBSession transition from FBSessionStateCreated to FBSessionStateCreatedOpening 
FBSDKLog: FBSession transition from FBSessionStateCreatedOpening to FBSessionStateClosedLoginFailed Session State Changed: 257
FBSessionStateClosedLoginFailed TOKEN: (null)
FBSessionStateClosedLoginFailed ERROR: Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0xb24cc20 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason}

Quelqu'un peut-il reproduire ce ou a une idée d'où le problème pourrait se situer?

Je pense que je vais avoir le même problème que vous. Je ne sais pas du tout des solutions ou des solutions de contournement encore.
comment avez-vous transformer sur le FBSDKLog l'exploitation forestière?
J'ai trouvé cette méthode quelque part par ici: [FBSettings setLoggingBehavior:[NSSet setWithObjects:FBLoggingBehaviorFBRequests, FBLoggingBehaviorFBURLConnections, FBLoggingBehaviorAccessTokens, FBLoggingBehaviorSessionStateTransitions, nil]];
BTW, il semble être au travail maintenant, pour moi, bien que je ne suis pas sûr pourquoi. J'ai eu incorporatedd la solution de this problème dans mon sessionStateChanged gestionnaire, mais il ne fonctionne pas. Jusqu'à ce que j'ai essayé de nouveau plus tard. Pour une raison quelconque, le comportement semble maintenant comme suit. Je passe le travail en cours FB utilisateur sur iOS, dans l'application de la session est ouverte, mais une demande échoue. Lors de la prochaine tentative d'une nouvelle session avec un bon jeton est ouvert et que la demande suivante à FB fonctionne.

OriginalL'auteur Kathrin Holweger | 2012-10-11