即使用户已授予一次权限,FBConnect 始终切换到 Facebook 应用程序或 Safari 是否属于正常行为?
现在我的应用程序将创建一个 Facebook 对象并调用授权,然后 iPhone 将翻转到 Facebook 应用程序以获取用户许可,一旦用户登录和/或给予同意,它就会返回到我的应用程序调用 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
我将 URL 传递给 Facebook 对象,他们可以在 Facebook 页面上共享。我知道这是第一次应该如何工作...但是每次用户选择共享时都会发生这种情况,即使应用程序尚未关闭。
我是否可能错过了让 Facebook Connect 在我的应用程序中存储 cookie 的步骤?
最佳答案
用户授权您的应用程序后,您必须保存访问 token
[[NSUserDefaults standardUserDefaults] setObject:self.facebook.accessToken forKey:@"AccessToken"];
[[NSUserDefaults standardUserDefaults] setObject:self.facebook.expirationDate forKey:@"ExpirationDate"];
并在您的应用程序启动时设置它。
// Facebook Init
facebook = [[Facebook alloc] init];
facebook.accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"AccessToken"];
facebook.expirationDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"ExpirationDate"];
调用[facebook isSessionValid]
将检查用户 session 是否仍然有效
- (BOOL)isSessionValid {
return (self.accessToken != nil && self.expirationDate != nil
&& NSOrderedDescending == [self.expirationDate compare:[NSDate date]]);
}
关于iPhone FBConnect 始终切换到 Safari 或 Facebook 应用程序进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4707551/