我实现了一个完美的Facebook登录按钮.但是,用户成功登录到Facebook并返回应用后,[FBSDKAccessToken currentAccessToken]返回NO.我添加了一个观察者,看看我想要的代码是否在返回到应用程序后运行:
-(void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn)name :UIApplicationWillEnterForegroundNotification object:nil]; } -(void)checkLogIn { NSLog(@"IN CHECK LOG IN"); if ([FBSDKAccessToken currentAccessToken]) { NSLog(@"Access Token Activated"); } }
并且登录后,当我返回到应用程序checkLogIn方法被调用,但是[FBSDKAccessToken currentAccessToken]仍然返回NO.
但是,当我按下iPhone上的主页按钮后,它会变为YES,然后返回到应用程序.
如何立即更新,所以我可以向用户显示另一个视图控制器?
更新:
我找到了在回到应用程序后执行正确代码的方法.关键是使用FBSDKAccessTokenDidChangeNotification是Notification Center.所以最终的结果将是这样的:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn) name: FBSDKAccessTokenDidChangeNotification object:nil];
这样,令牌将被更新,它将工作.
解决方法
请检查您的appDelegate类并实现FB SDK所需的所有方法.我附加的屏幕截图相同.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。