web-dev-qa-db-fra.com

Déconnexion de Facebook dans l'application à l'aide du SDK Facebook ios

J'ai intégré la connexion Facebook dans mon application et par conséquent, l'utilisateur peut se connecter à la fois avec mon compte d'application et également Facebook et effectuer les actions correspondantes.Pour l'intégration Facebook, j'ai ajouté Facebook SDK.Maintenant, lorsque le bouton Déconnexion est cliqué dans mon application, il doit effacer tous les les informations d'identification du compte Facebook.J'ai opté pour:

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


}

Mais quand je clique à nouveau sur le bouton, je suis redirigé directement vers mon compte sans aller sur la page de connexion Facebook.

Comment puis-je me déconnecter de Facebook?

44
Aaradhya

En utilisant le nouveau kit de connexion Facebook SDK, écrivez juste en dessous de la ligne et c'est tout.

[[FBSDKLoginManager new] logOut];

Si vous utilisez Swift, assurez-vous d'avoir les importations nécessaires

import FBSDKLoginKit

func logout() {
    FBSDKLoginManager().logOut()
}
84
iHulk

Pour vous déconnecter, vous devriez essayer ceci

vous pouvez ajouter le bouton de déconnexion sur le contrôleur de navigation (coin supérieur droit) dans viewDidLoad méthode

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

et la méthode d'action pour le bouton ajouté 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 demandait pas le nom d'utilisateur et le mot de passe, la raison en est:

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

  1. Tout d'abord, il vérifie si nous nous sommes déjà connectés à l'application Facebook Native installée sur cet appareil.

  2. il vérifie ensuite si nous avons enregistré notre nom d'utilisateur et notre mot de passe FaceBook dans les paramètres de l'appareil.

Si les deux endroits, nous ne nous sommes pas connectés, il demandera le nom d'utilisateur et le mot de passe dans l'application

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

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

enter image description here

20
swiftBoy

FBSDK se déconnecte comme ceci:

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

Si vous utilisez Swift 3 ou 4:

var loginManager = LoginManager()

Collez ce code lorsqu'une action est nécessaire pour vous déconnecter

loginManager.logOut()
1

Dans votre postButtonClicked écrivez ce qui suit 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];
    }
}
0
Rushi