1

在我的应用程序中,我可以选择使用 google plus 登录应用程序。登录工作正常。我无法从 google+ 注销。当我点击登录按钮时,它不会显示登录页面,它会重定向到身份验证对话框页面。

我的代码是:

登录

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];
}
4

2 回答 2

3

全局获取 GPPSignIn *signIn 并在您的注销按钮操作中添加以下代码

[signIn signOut];
于 2014-01-21T15:00:01.930 回答
2

关于明确说明的文档[GPPSignIn disconnect]

“如果操作成功,OAuth 2.0 令牌也会从钥匙串中删除。断开连接需要令牌,因此如果要调用断开连接,请不要调用 signOut。”

@Revanth 是正确的,您只需要调用 signOut (尽管他的变量的不幸命名使可读性混乱)。

请记住:退出与断开连接不同。退出后,您无需删除用户信息。Google 支持拥有多个帐户的用户,因此用户可能只是简单地退出,以便他们可以使用相关帐户登录。

另一方面,断开连接具有破坏性,您应该从服务器中删除所有用户信息,并且在他们下次登录时,他们将不得不再次授予您的应用权限。

此外,您的应用程序必须包括执行以下操作的能力:(请参阅规则

了解他们是否与 Google 帐户相关联,如果是,则与哪个帐户相关联。

断开应用程序与其 Google 帐户的连接。

退出您的应用程序。

于 2014-07-04T14:56:57.957 回答