L'SDK dell'FB non sembra gradire creare più di un FBLoginView. Forse è possibile se si termina correttamente la sessione, ma ho trovato più facile creare una volta il ViewView e tenerlo in giro.
ho fatto questo come segue:
1) nel mio .m
modale di file View Controller, ho creato una variabile statica
static FBLoginView* loginView;
2) Quando si carica il controller di vista modale nel mio viewDidLoad
, invece di
FBLoginView *loginview = [[FBLoginView alloc] initWithPermissions:
[NSArray arrayWithObject:@"status_update"]];
loginview.frame = CGRectOffset(loginview.frame, 10, 10);
ho aggiunto un controllo per scoprire se il suo già inizializzato, in questo modo:
if (!loginView) {
loginView = [[FBLoginView alloc] initWithPermissions:
[NSArray arrayWithObject:@"status_update"]];
loginView.frame = CGRectOffset(loginView.frame, 10, 10);
}
Oltre a ciò, ho appena seguito l'esempio del progetto HelloFacebook di FB.
Non un bel codice, ma sembra funzionare.
fonte
2012-08-19 21:07:29
Non penso che sia saggio chiudere la sessione quando ignoriamo la modale dal momento che può disconnettere l'utente. Ci deve essere un'altra correzione o abbiamo bisogno di file sotto i bug – carbonr