android – Google登录iOS帐号选择器

我在我的iOS应用中使用Google登录.我按照谷歌教程( https://developers.google.com/identity/sign-in/ios/sign-in#add_the_sign-in_button)使用了用户必须点击的GIDSignInButton.当他点击它时,他被重定向到Safari,如下所示:

这个问题是我有多个Google帐户,并且希望能够选择我想要使用的帐户.现在它只需要自动执行其中一个,我所要做的就是按“拒绝”或“允许”.此外,我不喜欢应用程序被重定向到Chrome的事实.理想情况下,我想要的是Google Hangouts应用程序在iOS上的功能

它会向您显示以前用于登录任何Google应用的所有帐户,并让您在不离开应用的情况下决定使用该应用的哪些帐户.在Android上我得到了类似的东西为我的应用程序工作:

如何在我的iOS应用程序中实现这种行为(不要离开app account chooser)?

解决方法

他们能够在Google环聊中实现这一目标的原因是因为它是由Google制作的.公司并不总是为开发人员提供所有功能,这是一个很好的例子.您之所以能够在Android中执行此操作是因为Google决定允许开发人员更多地访问不同的功能.毕竟,android是由谷歌开发的.现在,至于不离开应用程序,您可以始终使用嵌入式Web视图.这将使用户保持在应用程序中,而是以模态方式弹出Web视图.它不是世界上最好的,但比将用户发送到其他地方更好.你试过这段代码
// Implement these methods only if the GIDSignInUIDelegate is not a subclass of
// UIViewController.

// Stop the UIActivityIndicatorView animation that was started when the user
// pressed the Sign In button
func signInWilldispatch(signIn: GIDSignIn!,error: NSError!) {
  myActivityIndicator.stopAnimating()
}

// Present a view that prompts the user to sign in with Google
func signIn(signIn: GIDSignIn!,presentViewController viewController: UIViewController!) {
  self.presentViewController(viewController,animated: true,completion: nil)
}

// dismiss the "Sign in with Google" view
func signIn(signIn: GIDSignIn!,dismissViewController viewController: UIViewController!) {
  self.dismissViewControllerAnimated(true,completion: nil)
}

我在你发布的链接上找到了这个.我没有运行或测试代码,但它似乎提供了一个视图控制器,而不是发送到safari.这可能更符合您的要求.

回答@Sam的问题:

“如何通过现有安装的Google应用登录Google,而不是在Safari中打开网址?”

你可以用android实现这一点,但不能用iOS实现.这是由于所选平台而受到限制的另一个例子.

记住您最终选择的任何选项仍然需要遵守OAuth 2.0.我建议尽可能使用Google为iOS开发人员使用的内容.在选择不同于认帐户的帐户时,如果您选择按照指南操作并执行Google为iOS开发人员创建的帐户,则只需点按个人资料图片并切换帐户即可.

TL; DR

https://www.youtube.com/watch?time_continue=227&v=-26DGO_E1ds

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...