Как выйти из google plus GPPSignIn?

В моем приложении у меня есть возможность войти в приложение с помощью Google Plus. Логин работает нормально. Не могу выйти из гугл+. Когда я когда-либо нажимаю кнопку входа в систему, она не показывает страницу входа в систему, перенаправляя ее на страницу диалога аутентификации.

Мой код:

Для входа

GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.shouldFetchGooglePlusUser = YES;
signIn.shouldFetchGoogleUserEmail = YES;  
signIn.shouldFetchGoogleUserID= YES;

signIn.clientID = kClientId;
signIn.scopes = [NSArray arrayWithObjects:kGTLAuthScopePlusLogin,nil];
signIn.delegate = self;

Выйти

- (IBAction)Logout:(id)sender {
[[GPPSignIn sharedInstance] signOut];
[[GPPSignIn sharedInstance] disconnect];
}

person user2230971    schedule 08.10.2013    source источник
comment
я слишком застрял в этом вопросе..   -  person Gowtham    schedule 08.10.2013
comment
Что вы подразумеваете под страницей входа и страницей аутентификации?   -  person BrettJ    schedule 08.10.2013
comment
Привет, я знаю, что это старый пост, но он все еще актуален. Пожалуйста, рассмотрите мой ответ :) спасибо.   -  person Daniel Galasko    schedule 18.07.2014


Ответы (2)


Возьмите GPPSignIn *signIn глобально и добавьте следующий код в действие кнопки «Выход».

[signIn signOut];
person Revanth    schedule 21.01.2014
comment
Кроме того, если это другое представление, чем loginViewController, установите signIn.delegate=self; , затем он вызовет метод didDisconnectWithError и отзовет токен устройства. - person Sushil Sharma; 28.07.2015

В документации по [GPPSignIn disconnect]явно указано

Если операция завершается успешно, токен OAuth 2.0 также удаляется из цепочки для ключей. Токен необходим для отключения, поэтому не вызывайте signOut, если необходимо вызвать отключение.

@Revanth прав, вам нужно только вызвать signOut (хотя неудачное название его переменной сбивает с толку).

Помните: выход отличается от отключения. После выхода вам не нужно удалять информацию о пользователях. Google поддерживает пользователей, имеющих несколько учетных записей, поэтому может случиться так, что пользователь просто выходит из системы, чтобы войти в систему с помощью связанной учетной записи.

Отключение, с другой стороны, разрушительно, и вы должны удалить всю информацию о пользователях с сервера, и при следующем входе в систему им придется снова предоставить разрешения вашему приложению.

Кроме того, ваше приложение должно включать следующие возможности: (см. правила)

Узнайте, подключены ли они к учетной записи Google, и если да, то к какой учетной записи.

Отключите приложение от своих учетных записей Google.

Выйдите из приложения.

person Daniel Galasko    schedule 04.07.2014