Déconnection de Facebook dans l'application en utilisant Facebook ios SDK

J'ai embedded Facebook connection dans mon application et donc user peut se connecter avec mon count d'application et aussi Facebook et faire des actions correspondantes.Pour l'intégration de Facebook, j'ai ajouté Facebook SDK.Now lorsque le button Déconnection est cliqué dans mon application, il doit effacer tous les informations d'identification du count Facebook. Je suis allé pour:

-(IBAction)btnlogOutClicked:(id)sender { [appDelegate fbDidlogout]; } -(void)fbDidlogout { FBSession* session = [FBSession activeSession]; [session closeAndClearTokenInformation]; [session close]; [FBSession setActiveSession:nil]; } 

Mais quand je clique de nouveau sur le button, je suis redirigé directement vers mon count sans aller à la page de connection Facebook.

Comment puis-je me déconnecter de Facebook?

En utilisant le nouveau kit de connection SDK Facebook, écrivez ci-dessous ligne et c'est ..

 [[FBSDKLoginManager new] logOut]; 

Si vous utilisez swift, assurez-vous d'avoir les imports nécessaires

 import FBSDKLoginKit func logout() { FBSDKLoginManager().logOut() } 

Pour la déconnection, vous devriez essayer ceci

vous pouvez append le button Déconnection sur le controller de navigation (coin supérieur droit) dans la méthode viewDidLoad

 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(logoutButtonWasPressed:)]; 

et la méthode d'action pour le button ci-dessus est

 -(void)logoutButtonWasPressed:(id)sender { [FBSession.activeSession closeAndClearTokenInformation]; } 

J'espère que ceci vous aidera!

Référence

Modifier:

Comme vous avez demandé pourquoi il ne request pas de nom d'user et mot de passe, la raison est la suivante:

Lorsque nous intégrons Facebook SDK dans notre application et que nous essayons de nous connecter, il vérifie automatiquement deux endroits (pour s'assurer que nous avons déjà ouvert une session sur Facebook ou non)

  1. Tout d'abord, il vérifie si nous avons déjà connecté dans Facebook app natif qui est installé sur cet appareil.

  2. Ensuite, il vérifie si nous avons enregistré notre nom d'user et mot de passe FaceBook dans les parameters du périphérique.

Si les deux endroits nous ne sums pas connectés, il requestra UserName et Password dans l'application

vous pouvez vérifier la configuration du count Facebook dans les parameters de l'appareil comme indiqué dans la capture d'écran ci-dessous,

Appuyez sur le button Accueil -> Paramètres -> Facebook

entrez la description de l'image ici

FBSDK fait la déconnection comme ceci:

  [FBSession.activeSession closeAndClearTokenInformation]; FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; [login logOut]; 

Dans votre postButtonClicked écrire suivant sinon:

 -(void)postButtonClicked { _session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain]; [_session resume]; posting = YES; showSlideShow = 1; if (_facebookName != nil) { [self logoutButtonClicked]; } if (![_session isConnected]) { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } else { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } }