我已经开始使用Swift和Storyboards在Xcode上开发iOS应用程序。我有一个需求,即在点击按钮时,如果用户使用Facebook登录,则在屏幕上显示用户的Facebook个人资料,但如果他没有登录,则会自动跳转到登录页面,在成功登录后再次显示个人资料页面。
我该如何做到这一点?
我已经开始使用Swift和Storyboards在Xcode上开发iOS应用程序。我有一个需求,即在点击按钮时,如果用户使用Facebook登录,则在屏幕上显示用户的Facebook个人资料,但如果他没有登录,则会自动跳转到登录页面,在成功登录后再次显示个人资料页面。
我该如何做到这一点?
FBSDKAccessToken.currentAccessToken()
如果用户已登录,则它将不为空。
https://developers.facebook.com/docs/facebook-login/ios/v2.3#token
if FBSDKAccessToken.current() != nil {
// logged in
}
else {
// not logged in
}
他们最近从FBSDKAccessToken.currentAccessToken()
更改为FBSDKAccessToken.current()
在Swift 5的SDK中,请使用以下代码:
import FBSDKCoreKit
if AccessToken.isCurrentAccessTokenActive {
print("your session is active")
}
为了更方便和标准的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.
}
如果您想在应用程序启动时基于登录检查加载特定的视图控制器,您可以将此代码放置在项目的AppDelegate
中,并在内部进行检查 -
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//Check here for login
}
谢谢。
FBSDKAccessToken.currentAccessToken()
。 - Marcus Adams