IOS: проверить, зарегистрирован ли пользователь, используя Facebook?

Я начал работать над iOS-приложением на Xcode, используя Swift и раскадровки. У меня есть требование, когда при нажатии кнопки я покажу пользовательскую информацию профиля Facebook на экране (только если пользователь подписывается с использованием Facebook), но если он не подписан, он автоматически перейдет на экран входа в систему и при успешном входе в систему снова будет показан вид профиля.

Как я могу это сделать?

Ответ 2

С последней версией Facebook SDK вы можете проверить это следующим образом:

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

Они недавно изменились с FBSDKAccessToken.currentAccessToken() на FBSDKAccessToken.current()

Ответ 3

Для более удобного и стандартного кода в swift вы можете использовать этот следующий фрагмент кода. BTW Я использую 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
}

Спасибо.

Ответ 4

в SDK для Swift 5 используйте следующую часть кода:

import FBSDKCoreKit

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