加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – Facebook要求授权已经授权的用户

发布时间:2020-12-16 07:00:40 所属栏目:百科 来源:网络整理
导读:我在Facebook应用程序身份验证过程中遇到问题,我的Facebook帐户已经授权该应用程序,但有时当我在设备上运行应用程序时,它会打开Facebook应用程序并且对话框显示“您已经授权此应用程序”,这种情况发生了使用相同的Facebook帐户在同一设备上多次. 当我分配Fac
我在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"];
}

同样在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]; 
}

我错过了什么?

解决方法

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

Download the latest version of the iOS SDK,你将摆脱它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读