Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌登录向导不要求添加新帐户或选择现有-iOS_Ios_Objective C_Google Authentication - Fatal编程技术网

谷歌登录向导不要求添加新帐户或选择现有-iOS

谷歌登录向导不要求添加新帐户或选择现有-iOS,ios,objective-c,google-authentication,Ios,Objective C,Google Authentication,我使用谷歌签名从谷歌获得认证,然后形成我们的应用服务器 通过google实现了登录,如下所述 当我点击google按钮并输入我的google凭证时,一切正常,但如果我想更改google帐户,我无法这样做 如果我再次点击谷歌按钮,它不会要求添加其他帐户或给我现有帐户列表 它只是让我用以前使用过的帐户静默登录 我遵循的步骤 设置客户端ID:在信息和应用程序代理中设置客户端ID [GIDSignIn sharedInstance].clientID=@“xxxx.apps.googleusercon

我使用谷歌签名从谷歌获得认证,然后形成我们的应用服务器

通过google实现了登录,如下所述

当我点击google按钮并输入我的google凭证时,一切正常,但如果我想更改google帐户,我无法这样做

如果我再次点击谷歌按钮,它不会要求添加其他帐户或给我现有帐户列表

它只是让我用以前使用过的帐户静默登录

我遵循的步骤

  • 设置客户端ID:在信息和应用程序代理中设置客户端ID
  • [GIDSignIn sharedInstance].clientID=@“xxxx.apps.googleusercontent.com”

  • 设置委托:在登录视图控制器中设置委托
  • [GIDSignIn sharedInstance]。委托=自我; [GIDSignIn sharedInstance].uiDelegate=self

  • 调用登录:一旦用户单击下面的登录按钮,代码如下

    • (iAction)Google Plus识别:(id)发件人{ [GMDCircleLoader setOnView:self.view,标题:@”“动画:是];
      [[GIDSignIn sharedInstance]符号
  • 在]; }

  • 调用注销:一旦从谷歌获得个人资料详细信息,然后从谷歌注销

    //取消“使用谷歌登录”视图

    • 签名:(GIDSignIn*)签名 dismissViewController:(UIViewController*)viewController{ [自我解除视图控制器激活:是完成:无]; }

    • 签名:(GIDSignIn*)签名 didSignInForUser:(谷歌用户*)用户 威瑟罗:(n错误*)错误{ [GMDCircleLoader hideFromView:self.view动画:是]; //在此处对已登录用户执行任何操作。
      [[GIDSignIn sharedInstance]注销]; }

  • 我不确定我错在哪里,我检查了Jbong应用程序,但我的应用程序的行为是不同的,与预期不一样

    以前也尝试过注销


    [[GIDSignIn sharedInstance]注销];
    [[GIDSignIn sharedInstance]签名]

    基本上,您需要注销并断开用户帐户,以便选择其他帐户登录。您似乎从未在适当的地方在代码中这样做。在登录之前,您应该注销现有会话,然后尝试登录

    Swift

    GIDSignIn.sharedInstance().signOut()
    GIDSignIn.sharedInstance().disconnect()
    
    [[GIDSignIn sharedInstance] signOut];
    [[GIDSignIn sharedInstance] disconnect];
    
    目标-C

    GIDSignIn.sharedInstance().signOut()
    GIDSignIn.sharedInstance().disconnect()
    
    [[GIDSignIn sharedInstance] signOut];
    [[GIDSignIn sharedInstance] disconnect];
    

    基本上,您需要注销并断开用户帐户,以便选择其他帐户进行登录。您似乎从未在适当的地方在代码中这样做。在登录之前,您应该注销现有会话,然后尝试登录

    Swift

    GIDSignIn.sharedInstance().signOut()
    GIDSignIn.sharedInstance().disconnect()
    
    [[GIDSignIn sharedInstance] signOut];
    [[GIDSignIn sharedInstance] disconnect];
    
    目标-C

    GIDSignIn.sharedInstance().signOut()
    GIDSignIn.sharedInstance().disconnect()
    
    [[GIDSignIn sharedInstance] signOut];
    [[GIDSignIn sharedInstance] disconnect];
    

    尝试之前太多,但不工作,即使我在谷歌演示应用程序中单独测试后,在演示应用程序中注销,如果再次登录,它不会要求password@TarunSeera它应该会起作用。您在应用程序中的哪个位置注销?您发布的代码未显示您正在执行此操作。[[GIDSignIn sharedInstance]注销];[[GIDSignIn sharedInstance]签名]@Tarunsera见更新的答案。这应该行得通,否则我们可能不得不在GitHub页面上为框架打开一个问题。也可以尝试一下,但不起作用,即使我在退出演示应用程序后在谷歌演示应用程序中单独测试,如果再次登录它不要求password@TarunSeera它应该会起作用。您在应用程序中的哪个位置注销?您发布的代码未显示您正在执行此操作。[[GIDSignIn sharedInstance]注销];[[GIDSignIn sharedInstance]签名]@Tarunsera见更新的答案。这应该行得通,否则我们可能不得不在框架的GitHub页面中打开一个问题