2016-08-13 2 views
-1

Ich kann mich nicht abmelden, während ich mit Facebook SDK angemeldet bin. Könnten Sie bitte den folgenden Code überprüfen:facebook logout funktioniert nicht in ios 9.0

self.login =[[FBSDKLoginManager alloc]init]; 
[FBSDKAccessToken setCurrentAccessToken:nil]; 
[FBSDKProfile setCurrentProfile:nil]; 
[self.login logOut]; 
+0

Wenn ich versuche mich mit dem obigen Code abzumelden, kann ich mich nicht ausloggen und das nächste Mal, während ich versuche mich anzumelden, erhalte ich eine Nachricht d. H. "Sie haben bereits eine App autorisiert". Bitte kindly vorschlagen mich. – MRJ

+0

Bitte bitte helfen Sie mir zu diesem Problem ... – MRJ

Antwort

1

Dies ist die Lösung, wenn Sie vor dem Abmelden klar etwas FBSDKLoginButton nicht verwenden:

- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error{ 
    if (!error) { 
     if ([FBSDKAccessToken currentAccessToken]) { 
      [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"picture.type(large), email, name, id"}] 
      startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
       if (!error) { 
        //Perform your logic & then logout using below code 
        FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init]; 
        [loginManager logOut]; 
       } 
      }]; 
     } 
    } 
} 
+0

Ich versuchte oben Code beim Abmelden, aber es funktioniert nicht .... da ich nicht abmelden kann. – MRJ

0

überprüfen Sie im Safari-Browser melden Sie sich an sind, Facebook kann nicht verantwortlich für die Abmeldung im Safari-Browser.

self.login =[[FBSDKLoginManager alloc]init]; 
[FBSDKAccessToken setCurrentAccessToken:nil]; 
[FBSDKProfile setCurrentProfile:nil]; 
[self.login logOut]; 

logout Methode wird nur die Sitzung von Facebook in iOS Anwendung schließen. also einfach aus Safari-Browser ausloggen und dann überprüfen, ob es funktioniert oder nicht.

+0

Könnten Sie mir bitte eine andere Lösung mitteilen, wenn Benutzer auf Abmelden geklickt hat, dann sollte es sich abmelden wie Google .... – MRJ

+0

Das ist Manuell Lösung, ich brauche so dynamisch wie Google Logout. – MRJ

0

Die 2 Schlüssel sind SSO und Safari. Facebook dokumentiert den Facebook Login Prozess schlecht. Möglicherweise möchten Sie SSO deaktivieren. Dies ist auf der Facebook-Entwickler-Website, wo Ihre App registriert ist, unter Einstellungen. Aber noch wichtiger ist, dass ich das Verhalten des FBLoginManagers ändern musste, um UIWebView und nicht Safari zu verwenden. Ich tat dies mit dem folgenden Ausschnitt:

FBSDKLoginManager *loginMgr = [[FBSDKLoginManager alloc] init]; 
loginMgr.loginBehavior = FBSDKLoginBehaviorWeb; 

Wenn Sie das Standardverhalten verwenden Sie es Logouts durch den Facebook-App oder Browser Safari und nicht direkt aus der App verwalten. Das FBSDKLoginBehaviorWeb soll iOS UIWebView in einem Popup verwenden. Dies funktioniert einwandfrei und Anmeldeinformationen sind nach jeder Abmeldung erforderlich.