web-dev-qa-db-fra.com

Déconnexion de Facebook par programmation iOS

J'essaie de me déconnecter de Facebook par programme sans utiliser FBSDKLoginButton j'ai eu une recherche comment pourrais-je faire j'ai trouvé cette réponse Peut-on se déconnecter facebook par programme mais le problème est le FBSession est déconseillé dans la nouvelle version iOS FBSDK

ma question est-il possible d'effacer la session fb dans la nouvelle version iOS FBSDK? s'il existe un moyen de se déconnecter de Facebook par programme? ou comment puis-je appeler l'action de déconnexion à partir de FBSDKLoginButton

Merci d'avance :)

31
Ahd Radwan

Vous avez deux méthodes pour vous déconnecter. Tout d'abord, comme suggéré par Inder Kumar Rathore

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logOut];

La seconde consiste à définir le currentAccessToken sur nil

[FBSDKAccessToken setCurrentAccessToken:nil];

@cookiemonsta espérons que la deuxième méthode fonctionne pour vous.

87
mars

FBSDKLoginManager est votre besoin, il a la méthode logOut mais vous devrez peut-être utiliser votre connexion personnalisée

par exemple.

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
  if (error) {
    // Process error
  } else if (result.isCancelled) {
    // Handle cancellations
  } else {
    // If you ask for multiple permissions at once, you
    // should check if specific permissions missing
    if ([result.grantedPermissions containsObject:@"email"]) {
      // Do work
    }
  }
}];

//then logout
[loginManager logOut];
8

Version Swift:

FBSDKLoginManager().logOut()

Vous pouvez utiliser FBSDKLoginManager même si vous vous êtes connecté avec FBSDKLoginButton.

7
Cmar

Pour Swift 3 et 4

Je voudrais utiliser le code mentionné ici, Comment déconnecter l'utilisateur en utilisant l'authentification Facebook en utilisant Swift et iOS?

où HardikDG a mentionné une bonne réponse pour la déconnexion. ce que vous devez faire est d'ajouter la ligne ci-dessous avant la connexion,

fbLoginManager.loginBehavior = FBSDKLoginBehavior.web

et pendant la déconnexion, utilisez le code ci-dessous

FBSDKAccessToken.setCurrent(nil)
FBSDKProfile.setCurrent(nil)
FBSDKLoginManager().logOut()

cela fonctionne parfaitement pour moi.

3
Chetan

Swift 3 et Swift 4:

import FacebookLogin
import FacebookCore

let loginManager = LoginManager()
loginManager.logOut()
1
DevB2F