Wenn wir openWithBehavior nach einem Aufruf von closeAndClearTokenInformation aufrufen, verursacht es EXC_BAD_ACCESS. Unabhängig davon, ob es den integrierten nativen iOS-Dialog oder einen der schnell umschaltenden verwendet.Facebook iOS SDK 3.1 stürzt beim nachfolgenden Aufruf von FBSession ab openWithBehavior
Unser Code auf FB, zum ersten Mal durch Werke einloggen:
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];
}];
Unser Code nach dem abzumelden, über den Code nicht nach openWithBehavior:
[[FBSession activeSession] closeAndClearTokenInformation];
ich zunächst openActiveSessionWithReadPermissions statt mit wurde of openWithBehavior, wie in der 3.1 Dokumentation beschrieben, die nicht abstürzt, aber die App, die von der FB app/Safari zurückwechselt, hat nicht funktioniert. Vielleicht wegen der Notwendigkeit, ein Suffix zu haben? Wenn es am einfachsten wäre, die App zu wechseln und zurück zu gehen, rate bitte.
Danke.
, habe ich nicht bekommen, wo und warum Sie diesen Code schreiben . und ich schrieb es vor openWithBehaviour noch stürzte es in openWithBehaviour – Heena
Der erste Ausschnitt oben ist von der Facebook-Klasse, die den Fehler warf. Ich fügte es nur hinzu, um dem Kontext etwas hinzuzufügen. Ich ging voran und fügte meinen Code hinzu, nachdem ich die Prüfung für eine aktive Sitzung hinzugefügt und sie geschlossen hatte, bevor immer eine neue Sitzung erstellt wurde. – leontx