如何知道用户已经在 iOS 应用上完成 Facebook 登录

Posted

技术标签:

【中文标题】如何知道用户已经在 iOS 应用上完成 Facebook 登录【英文标题】:How to know user has already done Facebook login at iOS app 【发布时间】:2015-12-03 08:29:28 【问题描述】:

我正在开发使用 Facebook ios SDK 4 的 iOS 应用程序。

当用户已经完成 Facebook 登录时,通过 Facebook 登录,将显示显示“用户已经批准您的应用”的对话框。 所以,不要显示对话框。我想知道用户是否已经登录 Facebook。 有谁知道好方法吗?我认为如果用户曾经做过 Facebook 登录,就会返回 accessToken。

【问题讨论】:

【参考方案1】:

FBSDKAccessToken管理当前登录用户的accessToken。 根据官方Facebook Login 指导 "FBSDKAccessToken表示登录成功后提供的访问令牌。最重要的是,它提供了一个全局的+currentAccessToken来表示当前登录的用户。"

currentAccessToken 是当前用户令牌的方便表示,并被其他 SDK 组件(如 FBSDKLoginManager)使用。

根据上述,您可以检查任一用户是否具有有效的 accessToken,并基于此您可以跟踪呼叫登录方法,否则只需跳到下一个流程。

【讨论】:

【参考方案2】:

在 Facebook 中,访问令牌是针对每个用户的,因此您可以在应用程序中传递它们并且它们会起作用。在您的情况下,如果您可以从另一个应用程序发送访问令牌,您将能够跳过下一次登录并正常使用 API。

但是我认为this thread 会帮助你。

iOS 的情况有些不同,因为我在 android 上登录了 Facebook,但没有遇到此类问题。

【讨论】:

以上是关于如何知道用户已经在 iOS 应用上完成 Facebook 登录的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中抑制 Facebook SDK UIAlertView

如何在社交媒体应用中阻止 Firebase 上的用户?对于 iOS

iphone重启后iOS应用需要登录

如何跨平台与Android和IOS

如何衡量 iOS 应用中用户完成特定操作所需的时间

iPad升级到iOS11可在屏幕上同时运行4个应用程序,你知道怎么做吗?