iPhone FBConnect始终切换到Safari或Facebook应用程序进行身份验证

时间:2011-01-16 19:30:19

标签: iphone facebook

FBConnect始终切换到Facebook应用程序或Safari是否正常,即使用户已经授予一次权限也是如此?

现在我的应用程序将创建一个Facebook对象并调用authorize,然后iPhone将转到Facebook应用程序以获得用户权限,一旦用户登录和/或给予好的话,它就会返回到我的应用程序调用{​​{ 1}}我将URL传递给Facebook对象,他们可以在他们的Facebook页面上共享。我知道这是第一次使用它的方式......但每次用户选择共享时都会发生这种情况,即使应用程序尚未关闭。

我可能错过了让Facebook Connect在我的应用程序中存储cookie的步骤吗?

1 个答案:

答案 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]]);

}