如何知道用户已经在 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