通过google plus登录到本机应用程序每次都不显示登录页面?

时间:2013-10-28 08:16:49

标签: ios google-plus logout

在我的应用程序中有一个选项供用户使用谷歌+登录应用程序?这里登录页面只显示一次当用户点击谷歌加号按钮从下次我点击谷歌加按钮直接导航到权限页面而不是转到loginPage

我的代码是

//////////////登录代码

GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.delegate = self;
signIn.shouldFetchGooglePlusUser = YES;
signIn.shouldFetchGoogleUserEmail = YES;  // Uncomment to get the user's email
signIn.shouldFetchGoogleUserID= YES;
signIn.clientID = kClientId;
signIn.scopes = [NSArray arrayWithObjects:
                 kGTLAuthScopePlusLogin, // defined in GTLPlusConstants.h
                 nil];
signIn.actions = [NSArray arrayWithObjects:@"http://schemas.google.com/ListenActivity",nil];
[signIn authenticate];

/////////////////////////退出代码

  - (void)Logout:(id)sender {

     [[GPPSignIn sharedInstance] signOut];
    [self performSelector:@selector(disconnect) withObject:nil afterDelay:1.0f];
   }
   - (void)disconnect {
[[GPPSignIn sharedInstance] disconnect];
  }

1 个答案:

答案 0 :(得分:1)

用户通过身份验证后,GPP库会在钥匙串中存储刷新令牌。下次他们回来时,您可以调用trySilentAuthentication来检查他们是否可以自动登录。

如果您确实退出并再次通过身份验证,则应用程序如果已经同意该设备,则不会向他们显示同意屏幕。在这种情况下,您尝试断开连接以强制它,但因为您在注销后执行此操作已经删除了令牌。

如果您希望您的用户每次都能看到登录屏幕(虽然这听起来不是非常好的体验!)只是存储一个本地标志,表明他们是否已经这样做了,并且不要调用身份验证直到那一点。