web-dev-qa-db-fra.com

iOS: Vérifier si l'utilisateur est déjà connecté avec Facebook?

J'ai commencé à travailler sur une application iOS sur Xcode à l'aide de Swift et de storyboards. J'ai l'obligation de cliquer sur un bouton pour afficher les informations du profil Facebook d'un utilisateur à l'écran (uniquement si l'utilisateur est connecté à l'aide de Facebook), mais s'il n'est pas connecté, l'écran de connexion lui sera automatiquement attribué et si la connexion est réussie à nouveau la vue de profil sera affichée.

Comment puis-je faire ceci?

10
hutututu

Si vous utilisez le SDK de connexion Facebook, appelez

FBSDKAccessToken.currentAccessToken()

Ce ne sera pas nul si l'utilisateur est connecté.

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

20
chedabob

Avec le dernier SDK Facebook, vous pouvez vérifier comme ceci:

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

Ils sont récemment passés de FBSDKAccessToken.currentAccessToken() à FBSDKAccessToken.current()

Pour un code plus pratique et standard dans Swift, vous pouvez utiliser l'extrait de code suivant. BTW j'utilise Swift 2.2 et 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.
}

Si vous voulez charger un viewController spécifique lors du lancement de l'application en fonction de la vérification de connexion, vous pouvez placer ce code dans la variable AppDelegate de votre projet et vérifier à l'intérieur

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

Je vous remercie.

0
onCompletion