Problemas com fbDidLogin nunca chamavam iOS
Estou tendo problemas com meu aplicativo ao salvar o access_token. O problema é que, quando um iPhone não tem o aplicativo do Facebook instalado, o safari lida com isso e não há problema. Mas assim que o iPhone tiver o aplicativo do Facebook instalado. Ele não está salvando o token de acesso e abre o aplicativo do Facebook sempre que precisar fazer algo com o Facebook. Em seguida, diz: você já deu .... permissão ...
Isso é o que estou fazendo no viewdidload para solicitar permissão pela primeira vez e receber o token de acesso dos padrões do usuário:
facebook = [[Facebook alloc] initWithAppId:@"APPID"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
NSArray* permissions = [[NSArray arrayWithObjects:
@"read_stream", @"offline_access", nil] retain];
if (![facebook isSessionValid]) {
[facebook authorize:permissions delegate:self];
}
Isso é o que estou fazendo no fbdidlogin:
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
Mas, de alguma forma, quando o aplicativo do Facebook assume o controle, isso simplesmente não funciona ... Ele autorizará toda vez que a exibição for carregada, carregada novament
Alguém tem uma pista?
Thnx!
BTW: Eu também tenho a seguinte linha:
(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [[controller facebook] handleOpenURL:url]; }