4

我在 Facebook 应用程序身份验证过程中遇到问题,我的 Facebook 帐户已经授权该应用程序,但有时当我在设备上运行该应用程序时,它会打开 Facebook 应用程序并且对话框显示“您已经授权此应用程序”,这会发生使用同一个 Facebook 帐户在同一设备上多次。

NSUserDefaults此外,我在分配Facebook类对象时保存了所有需要的数据:

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]; 
}

我错过了什么?

4

1 回答 1

1

这是旧版本 Facebook SDK 中的错误,但现在已解决。

下载最新版本的 iOS SDK,您将摆脱它。

于 2012-10-06T14:29:15.867 回答