2013-03-25 4 views
39

Ich habe Facebook Login in meine App integriert und somit kann sich der User sowohl mit meinem App Account als auch Facebook einloggen und entsprechende Aktionen durchführen. Für Facebook habe ich Facebook SDK.Now beim Abmelden hinzugefügt Taste wird in meiner App angeklickt haben alle Anmeldeinformationen von Facebook Account.I für haben zu löschen hat gegangen:Abmeldung von Facebook in App über Facebook ios SDK

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


} 

Aber wenn ich wieder auf den Knopf klicken ich bin ohne Umweg Book Login-Seite direkt auf mein Konto umgeleitet.

Wie kann ich mich von Facebook abmelden?

+0

Welches SDK? Da sind viele. (PHP, Js, C#) ... –

+0

Facebook ios SDK ist die, die ich benutze ... – Aaradhya

+0

Dieser Code funktioniert gut für mich :) –

Antwort

0

In Ihrem postButtonClicked Schreib folgende wenn sonst:

-(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

Ich benutze Facebook ios SDK.Ich habe keine FBLoginDialog.Can Sie bitte verwendet Sag mir, wie kann ich mich mit dem Facebook ios SDK abmelden? – Aaradhya

20

Für Abmelde Sie dieses

versuchen sollten, können Sie den Logout-Button auf Navigation Controller hinzufügen (obere rechte Ecke) in viewDidLoad Verfahren

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

und die Aktionsmethode für oben hinzugefügt Taste ist

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

hoffe, dies wird Ihnen helfen!

Reference

Edit:

Wie Sie gefragt, warum es nicht für Benutzernamen und Passwort gefragt, also der Grund ist:

Wenn wir Facebook SDK in unserer App integrieren und versuchen, um sich einzuloggen , es überprüft automatisch zwei Orte (um sicherzustellen, dass wir Facebook bereits eingeloggt haben oder nicht)

  1. Zunächst prüft es, ob wir uns bereits in der Facebook Native App eingeloggt haben, die auf diesem Gerät installiert ist.

  2. Dann wird überprüft, ob wir in den Geräteeinstellungen den FaceBook Benutzernamen und das Passwort gespeichert haben.

Wenn beide Orte, die wir nicht angemeldete in haben dann fragen Sie Benutzernamen und Passwort in Anwendung

Sie Facebook-Account Setup in Geräteeinstellungen überprüfen können, wie in unten Bildschirm dargestellt ist,

Home Button drücken -> Einstellungen -> Facebook

enter image description here

+0

Ich versuchte mit Ur-Code, aber es Login mit meinen Anmeldeinformationen, wenn ich auf Login Buton ohne zu fragen, Login-ID und Psswrd ... Was sollte ich noch tun müssen? – Aaradhya

+0

in iOS 6 wir haben native Framework für Facebook, so wenn Sie von der App einloggen überprüft, ob Sie bereits Anmeldeinformationen in Geräteeinstellungen oder nicht gespeichert haben, so stellen Sie sicher, wie Twitter haben Sie Facebook Kontoinformationen in den Einstellungen eingegeben, sonst es Wenn Sie versuchen, sich von Ihrer App aus anzumelden, werden Sie nach UN und Pass gefragt. – swiftBoy

+0

Sorry, ich habe dich nicht bekommen ... Jetzt kann ich mich von facebook abmelden, wenn ich facebook url im Browser öffne und mich dort abmelde., Dann die Aufforderung nach Facebook credentials (Id und psswrd) wenn ich in meiner App auf Login btn klicke – Aaradhya

9

FBSDK tut Abmelde wie folgt aus:

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

Verwenden Sie das neue Facebook SDK Login-Kit, schreiben Sie einfach unter Zeile und das ist es ..

[[FBSDKLoginManager new] logOut]; 

Wenn swift sicher, dass die notwendigen Importe

import FBSDKLoginKit 

func logout() { 
    FBSDKLoginManager().logOut() 
} 
+1

Funktioniert das? 'FBSDKLoginManager' muss der gleiche sein wie bei der Anmeldung? oder kann ein neues Objekt sein. – Mani

+0

nein .. es muss nicht gleich sein – iHulk

+0

So reibungslos arbeiten! Thx – JDDelgado

0

haben Wenn swift mit 3 oder 4:

var loginManager = LoginManager() 

diesen Code einfügen, wenn eine Aktion erforderlich ist, zum Abmelden gemacht werden

loginManager.logOut() 
+0

@ SaschaM78 das für Hilfe mate –