web-dev-qa-db-de.com

Melden Sie sich programmgesteuert mit iOS von Facebook ab

Ich versuche, mich programmgesteuert von Facebook abzumelden, ohne FBSDKLoginButton zu verwenden. Ich hatte eine Suche. Wie konnte ich diese Antwort finden? Können wir uns programmgesteuert von Facebook abmelden? Aber das Problem ist das FBSession. ist in der neuen iOS FBSDK-Version veraltet

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 programmgesteuert von Facebook abzumelden? oder wie könnte ich die Abmeldeaktion von FBSDKLoginButton aufrufen

Danke im voraus :)

31
Ahd Radwan

Sie haben zwei Möglichkeiten, sich abzumelden. Erstens, wie von Inder Kumar Rathore vorgeschlagen

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

Zweitens wird das currentAccessToken auf nil gesetzt

[FBSDKAccessToken setCurrentAccessToken:nil];

@cookiemonsta hoffe, zweite Methode funktioniert für Sie.

87
mars

FBSDKLoginManager ist Ihre Notwendigkeit, es hat logOut Methode, aber Sie müssen möglicherweise Ihr benutzerdefiniertes Login verwenden

z.B.

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];
8

Schnelle Version:

FBSDKLoginManager().logOut()

Sie können FBSDKLoginManager auch dann verwenden, wenn Sie sich mit FBSDKLoginButton angemeldet haben.

7
Cmar

Für Swift 3 und 4

Ich möchte den hier erwähnten Code verwenden, Wie melde ich mich mit der Facebook-Authentifizierung mit Swift und iOS? ab

wo HardikDG eine gute Antwort für die Abmeldung erwähnte. Was Sie tun müssen, ist das Hinzufügen von unten stehenden Zeilen, bevor die Anmeldung stattfindet.

fbLoginManager.loginBehavior = FBSDKLoginBehavior.web

und während der Abmeldung den folgenden Code verwenden

FBSDKAccessToken.setCurrent(nil)
FBSDKProfile.setCurrent(nil)
FBSDKLoginManager().logOut()

das funktioniert perfekt für mich.

3
Chetan

Swift 3 und Swift 4:

import FacebookLogin
import FacebookCore

let loginManager = LoginManager()
loginManager.logOut()
1
DevB2F