2015-04-14 15 views
27

Ich versuche, von Facebook ohne mit FBSDKLoginButton programmatisch abzumelden Ich hatte suchen, wie kann ich tun fand ich diese Antwort Can we logout facebook programatically aber das Problem ist die FBSession in neuen iOS FBSDK Version veraltet istAbmelden von Facebook iOS programmatisch

meine Frage ist Gibt es eine Möglichkeit, die fb-Sitzung in der neuen iOS FBSDK-Version zu löschen? Gibt es eine Möglichkeit, sich von Facebook programmgesteuert abzumelden? oder wie könnte ich die Abmeldung von FBSDKLoginButton

Dankbarkeitskreuzes in vorher anrufen :)

Antwort

81

Sie haben zwei Methoden zum Abmelden. Zuerst vorgeschlagen, wie durch Inder Kumar Rathore

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

Zweitens ist durch die currentAccessToken auf Null Einstellung

[FBSDKAccessToken setCurrentAccessToken:nil]; 

@cookiemonsta hoffen zweite Methode für Sie arbeitet.

+2

Sie sollten auch aufrufen: [FBSDKProfile setCurrentProfile: nil] weil LogOut es auch aufruft. Hier erklärt: https://developers.facebook.com/docs/reference/ios/current/class/FBSDKLoginManager/ –

+1

Ja, süß! Danke :) –

+0

Danke Mann das ist, was ich eine Antwort rufe :) – mahieddine

7

FBSDKLoginManager Ihre Notwendigkeit ist, hat es logOut Methode aber Sie könnten Ihre custom login

zum Beispiel verwenden

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]; 
+0

Gibt es eine Möglichkeit, ohne FBSDKLoginManager? Ich verwende jedoch FBSDKLoginButton! –

+0

Ich konnte keine Dokumente dafür finden –

+0

danke das ist auch eine Lösung aber ich bevorzuge es ohne FBSDKLoginManager – mahieddine

5

Swift Version:

FBSDKLoginManager().logOut() 

können Sie FBSDKLoginManager verwenden, selbst wenn Sie mit FBSDKLoginButton angemeldet.

0

Swift 3 und Swift 4:

import FacebookLogin 
import FacebookCore 

let loginManager = LoginManager() 
loginManager.logOut() 
Verwandte Themen