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

标签 iphone facebook

即使用户已授予一次权限,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/

相关文章:

python - 用 python 解析 Facebook feed 日期时间?

javascript - jquery获取重定向的url

android - 在 android 中打开与 facebook 应用程序的链接

android - facebook connect for android 返回空白登录屏幕?

ios - 从 UIKit 调用的 SwiftUI 模式中的关闭按钮

iphone - 如何让UILabel中的文字填满UILabel中的所有空间?

iphone - 由于苹果链接器错误,单元测试在应用程序重命名后无法运行

iphone - 在 iPhone 上通过 SMS 发送位置信息或 vCard

ios - 该应用程序在 id 中引用非公共(public)选择器(Facebook SDK iOS)

objective-c - 访问 UITableViewCell 的 TouchBegan/Moved/Ended