Si nous appelons openWithBehavior après un appel à closeAndClearTokenInformation, cela provoque EXC_BAD_ACCESS. Peu importe que l'on utilise la boîte de dialogue intégrée native d'iOS ou l'une des boîtes de dialogue à commutation rapide.
Notre code pour se connecter à FB, la première fois fonctionne :
if (![FBSession activeSession]) {
#ifdef FREE_APP
NSString* suffix = @"free";
#else
NSString* suffix = @"paid";
#endif
FBSession *session = [[[FBSession alloc] initWithAppID:@"111111111111111"
permissions:permissions
urlSchemeSuffix:suffix
tokenCacheStrategy:nil] autorelease];
[FBSession setActiveSession:session];
}
else if ([FBSession activeSession].isOpen)
[[FBSession activeSession] close];
[[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
Notre code pour se déconnecter, après quoi le code ci-dessus échoue après openWithBehavior :
[[FBSession activeSession] closeAndClearTokenInformation];
J'utilisais initialement openActiveSessionWithReadPermissions au lieu de openWithBehavior, comme prescrit dans la documentation de la version 3.1, ce qui ne provoque pas de plantage, mais le passage de l'application FB à Safari ne fonctionne pas. Peut-être à cause de la nécessité d'avoir un suffixe ? Si le plus simple est de corriger le changement d'application et de revenir à cela, merci de nous le dire.
Gracias.