Se chiamiamo openWithBehavior dopo una chiamata a closeAndClearTokenInformation, causa EXC_BAD_ACCESS. Indipendentemente dal fatto che stia utilizzando la finestra di dialogo nativa di iOS nativa o una di quelle a commutazione veloce.Facebook iOS SDK 3.1 si interrompe in seguito alla chiamata a FBSession openWithBehavior
Il nostro codice per accedere a FB, prima volta attraverso le opere:
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];
}];
Il nostro codice il logout, dopo di che il codice di cui sopra non riesce dopo openWithBehavior:
[[FBSession activeSession] closeAndClearTokenInformation];
Inizialmente ero usando openActiveSessionWithReadPermissions invece di openWithBehavior, come prescritto nei documenti 3.1, che non si arresta in modo anomalo ma l'app che si sta spostando dall'app FB/Safari non ha funzionato. Forse a causa della necessità di avere un suffisso? Se fosse più semplice correggere l'app e tornare a quello, si prega di avvisare.
Grazie.
, non ho ottenuto dove e perché scrivo questo codice . e l'ho scritto prima di openWithBehaviour ancora si è bloccato in openWithBihaviour – Heena
Il primo frammento di sopra è della classe facebook che stava lanciando l'errore. L'ho incluso solo per aggiungere il contesto a ciò che stava accadendo. Sono andato avanti e ho aggiunto il mio codice dopo aver aggiunto il controllo per una sessione attiva e chiuso, prima di creare sempre una nuova sessione. – leontx