FBConnect始终切换到Facebook应用程序或Safari是否正常,即使用户已经授予一次权限也是如此?
现在我的应用程序将创建一个Facebook对象并调用authorize,然后iPhone将转到Facebook应用程序以获得用户权限,一旦用户登录和/或给予好的话,它就会返回到我的应用程序调用{{ 1}}我将URL传递给Facebook对象,他们可以在他们的Facebook页面上共享。我知道这是第一次使用它的方式......但每次用户选择共享时都会发生这种情况,即使应用程序尚未关闭。
我可能错过了让Facebook Connect在我的应用程序中存储cookie的步骤吗?
答案 0 :(得分:8)
您必须在用户授权您的应用后保存访问令牌
[[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]
将检查用户会话是否仍然有效
- (BOOL)isSessionValid {
return (self.accessToken != nil && self.expirationDate != nil
&& NSOrderedDescending == [self.expirationDate compare:[NSDate date]]);
}