我在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"];
}
也fbDidLogin
和fbDidExtendToken
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 2012-08-05 14:40:58