如何使用 iOS Facebook SDK 2.4 保持登录状态

Posted

技术标签:

【中文标题】如何使用 iOS Facebook SDK 2.4 保持登录状态【英文标题】:How to stay logged in with iOS Facebook SDK 2.4 【发布时间】:2015-08-03 23:56:05 【问题描述】:

我正在使用 FBSDKLoginManager 在我的应用中实现 Facebook 登录。 Facebook docs 似乎暗示这会保存令牌以供后续应用启动,这样用户就不必每次都登录:

FBSDKLoginManager 为您设置此令牌,当它设置 currentAccessToken 时,它还会自动将其写入钥匙串缓存。

我一直在尝试在应用启动时从所述缓存中检索此令牌,或者如果找不到,则显示我的应用的 Facebook 登录屏幕:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES];

    if ([FBSDKAccessToken currentAccessToken]) 
        // user is logged in, continue to app's main screen
     else 
        // show login screen
    

    //...

每次都会显示登录屏幕。 Facebook 文档没有解释如何处理这个非常简单的用例。我错过了什么吗?

【问题讨论】:

【参考方案1】:

在尝试获取缓存令牌之前,您需要调用“[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]”。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];

...

【讨论】:

以上是关于如何使用 iOS Facebook SDK 2.4 保持登录状态的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk

如何使用 iOS Facebook SDK 获取所有 Facebook 好友列表

如何使用 facebook ios sdk 发出好友请求?

如何使用 facebook sdk 在 ios 中创建 facebook 测试用户

如何在 iOS 10 上使用 Facebook iOS SDK

Unity Facebook SDK FB.Feed 未发布