繁体   English   中英

iOS:检查用户是否已使用Facebook登录?

[英]iOS: Check if user is already logged in using Facebook?

我已经开始使用Swift和故事板在Xcode上开发iOS应用程序了。 我有一个要求,点击按钮,我将在屏幕上显示用户的Facebook个人资料信息(仅当用户使用Facebook登录时),但如果他没有登录,它将自动进入登录屏幕并成功登录再次显示配置文件视图。

我怎样才能做到这一点?

如果您使用的是Facebook登录SDK,请致电

FBSDKAccessToken.currentAccessToken()

如果用户已登录,则不会为零。

https://developers.facebook.com/docs/facebook-login/ios/v2.3#token

使用最新的Facebook SDK,您可以像这样检查:

if FBSDKAccessToken.current() != nil {
    // logged in
}
else {
    // not logged in 
}

他们最近从FBSDKAccessToken.currentAccessToken()更改为FBSDKAccessToken.current()

对于swift中更方便和标准的代码,您可以使用以下代码段。 顺便说一下,我使用的是Swift 2.2和Xcode 7.3.1。

if let loggedInUsingFBTokenCheck = FBSDKAccessToken.currentAccessToken(){
     //User is already logged-in. Please do your additional code/task.
}else{
    //User is not logged-in. Allow the user for login using FB.
}

如果您想在应用程序启动期间根据登录检查加载特定的viewController,您可以将此代码放在项目的AppDelegate并检查内部 -

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//Check here for login
}

谢谢。

在sdk for swift 5中使用下一部分代码:

import FBSDKCoreKit

if AccessToken.isCurrentAccessTokenActive {
    print("your session is active")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM