2016-08-13 3 views
-1

Я не могу выйти из системы, зарегистрировавшись с помощью Facebook SDK. Не могли бы вы, пожалуйста, проверьте следующий код:facebook logout не работает в ios 9.0

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

Когда я пытаюсь выйти из системы, используя вышеприведенный код, не могу выйти из системы и в следующий раз, пока я пытаюсь войти в систему, я получаю одно сообщение i.e «У вас уже разрешено приложение». Пожалуйста, любезно предложите мне. – MRJ

+0

Просьба помочь мне об этой проблеме ... – MRJ

ответ

1

Это решение, если вы используете FBSDKLoginButton Dont четкий ничего перед выходом из:

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

Я пробовал код при выходе из системы, но он не работает .... так как я не могу выйти из системы. – MRJ

0

проверить вы войти в браузере Safari, Facebook не может ответственный за выход из браузера Safari.

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

logout метод просто закрыть сессию Facebook в Заявке IOS. , так что просто выйдите из браузера сафари, а затем проверьте, работает оно или нет.

+0

Не могли бы вы сообщить мне другое решение, когда пользователь нажал кнопку «Выход», после чего он должен выйти из системы, как Google .... – MRJ

+0

Это решение вручную, мне нужно так же динамично, как выйти из системы Google. – MRJ

0

2 ключа являются SSO и Safari. Facebook плохо документирует процесс входа в Facebook. Вы можете отключить SSO. Это находится на сайте разработчика Facebook, где ваше приложение зарегистрировано в разделе «Настройки». Но что более важно, мне пришлось изменить поведение FBLoginManager для использования UIWebView, а не Safari. Я сделал это с помощью следующего фрагмента кода:

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

Если вы используете поведение по умолчанию он будет управлять завершений сеанса через Facebook App или браузер Safari, а не непосредственно из приложения. FBSDKLoginBehaviorWeb должен использовать iOS UIWebView во всплывающем окне. Это работает отлично, и учетные данные требуются каждый раз после выхода из системы.