2012-07-09 146 views
4

我在Facebook应用程序验证过程中遇到问题,我的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"]; 
} 

fbDidLoginfbDidExtendTokenFBSessionDelegate方法:

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

我错过了什么?

+0

它是从设备上删除应用程序后? – Moxy 2012-08-05 14:40:58

回答

1

这是一个bug in an older version of the Facebook SDK,但现在已经解决。

Download the latest version of the iOS SDK,你会摆脱它。

+0

我刚刚下载了Facebook SDK的最新(3.1)版本,并且此行为仍然存在。 – Jon 2012-11-20 00:11:52

+0

同样的问题在这里。任何解决方案 – 2012-12-19 09:56:32

+0

如果问题仍然存在,我建议您重新打开该错误,并使用棍子戳Facebook,直到他们修复为止。 :) – 2012-12-19 12:02:31