web-dev-qa-db-fra.com

Facebook SDK 4.0 IOS Swift Déconnectez un utilisateur par programmation

Dans certains cas, dans mon application, je dois déconnecter l'utilisateur, mais je n'ai que l'instance FBSDKLoginButton dans mon contrôleur de vue et implémentant le

FBSDKLoginButtonDelegate

en utilisant

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)

Je veux ouvrir la vue de connexion après avoir déconnecté l'utilisateur (destruction de la session Facebook) Je ne sais pas comment utiliser

FBSDKLoginManager.logOut(<#FBSDKLoginManager#>)

Je travaille à l'intérieur d'un UIViewController et je référence le FBSDKLoginButton via une prise

33
Mina Kolta

Ok, voici la chose pour quiconque a besoin d'aide. J'ai réussi à déconnecter mes utilisateurs en utilisant FBSDKLoginManager instance

Apparemment et je ne sais pas si c'est documenté ou non FBSDKLoginManager montres

FBSDKAccessToken.currentAccessToken()

alors

let loginManager = FBSDKLoginManager()
loginManager.logOut() // this is an instance function 

Déconnecte l'utilisateur, ce que j'ai mal compris que logOut n'est pas une fonction de classe.

espérons que cela aide quelqu'un!

82
Mina Kolta

Swifty et réponse simple pour les paresseux comme moi:

FBSDKLoginManager().logOut()
35
Zaid Pathan

Fait de même, mais dans Objective-C:

[[[FBSDKLoginManager alloc] init] logOut];

N'oubliez pas les importations: FBSDKCoreKit/FBSDKCoreKit.h & FBSDKLoginKit/FBSDKLoginKit.h

Pour Swift 3, Facebook SDK 4.16.0: Utilisation de Facebook Swift SDK

LoginManager().logOut()
10
Johnny Tsoi

De plus, si vous avez utilisé Parse et la version du SDK Facebook iOS> = 4.4.0 pour vous inscrire ou vous connecter à un utilisateur via Facebook , veuillez utiliser à la place:

PFUser.logOut()

Il déconnectera l'utilisateur, supprimera la session du côté back-end Parse (n'oubliez pas de activer Parse - session révocable via les paramètres de votre application Parse), et elle supprimera également la session Facebook écrite sur le disque de la machine utilisateur.

J'espère que cette réponse vous aidera.

1
King-Wizard