Facebook要求授权已经授权的用户

4
我在Facebook应用程序的认证过程中遇到了问题,我的Facebook账户已经授权该应用程序,但有时当我在设备上运行该应用程序时,它会打开Facebook应用程序并弹出对话框,显示“您已经授权此应用程序”,并且在同一设备上使用相同的Facebook账户多次发生此情况。
此外,当我分配Facebook类对象时,我将所有所需数据保存在NSUserDefaults中。
facebook = [[Facebook alloc] initWithAppId:appID andDelegate:self];

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

if([userDefault objectForKey:@"FBAccessTokenKey"] && [userDefault objectForKey:@"FBExpirationDateKey"])
{
    facebook.accessToken = [userDefault objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [userDefault objectForKey:@"FBExpirationDateKey"];
}

同样也要在fbDidLoginfbDidExtendToken方法中实现FBSessionDelegate接口:

- (void)fbDidLogin 
{
NSLog(@"fbDidLogin");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
- (void)fbDidExtendToken:(NSString *)accessToken expiresAt:(NSDate *)expiresAt 
{
NSLog(@"token extended");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:accessToken forKey:@"FBAccessTokenKey"];
[defaults setObject:expiresAt forKey:@"FBExpirationDateKey"];
[defaults synchronize]; 
}

我错过了什么吗?

你是在从设备中删除应用程序之后吗? - Moxy
1个回答

1

我刚刚下载了最新的Facebook SDK(3.1版本),但这种情况仍然发生。 - Jon
这里也有同样的问题。有解决方案吗? - Sebastian Boldt
如果问题仍然存在,我建议您重新打开错误报告,并用棍子戳Facebook直到他们解决它。 :) - Kristofer Sommestad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接