2013-03-28 20 views
5

Ich habe Facebook Login in meinem iPhone app mit Facebook sdk-3.1. Nach dem Login wird es in meine App und dort habe ich keine Logout-Taste .so, wenn wir klicken Sie auf Login mit facebook i Erhalte den vorherigen Benutzer-Facebook-Account.Können wir Facebook programmatisch abmelden

Um dieses Problem zu beheben, gibt iam die Schaltfläche ausloggen.

Wie kann ich Facebook ausloggen programmatisch auf die Schaltfläche klicken

gebe Login wie diese

-(IBAction)Login:(id)sender 
{ 

    appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate]; 
    [email protected]"LoginwithFB"; 
     [appDelegate openSessionWithAllowLoginUI:YES]; 
} 


-(BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI{ 


    NSArray *permissions=[[NSArray alloc]initWithObjects:@"email", nil]; 
    return[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
     [self sessionStateChanged:session state:state error:error]; 
    }]; 
} 
+0

wird Ihnen helfen, speichern Sie Benutzernamen und Token? –

+0

@ForamMukundShah ja – user2197875

+0

so, auf das Ereignis click Ihrer Abmeldung Schaltfläche setzen Sie diese auf Null –

Antwort

20

Verwenden Sie diesen Code:

if (FBSession.activeSession.isOpen) 
    { 
     [FBSession.activeSession closeAndClearTokenInformation]; 
    } 
+0

funktioniert nicht für mich – user2197875

+0

speichern Sie Benutzername und Token in nsunderdefults oder anyware –

+0

funktioniert super. Vielen Dank. – thedp

5

Swift Version

import FBSDKLoginKit

FBSDKLoginManager().logOut() 

Mit FBSDK 4,4

#import <FBSDKLoginKit/FBSDKLoginManager.h> 

dann diesen Code verwenden, um die Abmeldung.

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

Hoffnung diese :)

+0

Ich sehe, wie die Funktion funktioniert, aber ich denke, es ist ein bisschen seltsam, dass wir Instanz erstellen müssen. Warum haben sie es nicht als statische Methode implementiert? 'setCurrentAccessToken' und' setCurrentProfile' sind ebenfalls statisch =) –

Verwandte Themen