第三方登录IOS11 - GIDSignInButton

时间:2017-07-13 12:01:46

标签: ios firebase firebase-authentication google-signin ios11

我正在测试IOS 11更新,并注意到使用Google登录的Firebase Auth不起作用

我收到错误

A problem repeatedly occurred on https://accounts.google.com/signin/oauth? client_id nosignup pproval_state=???? passive=????

我可以看到许多有关Apple删除部分社交媒体集成的新闻报道 Apple to stop third party login on apps through social media in iOS 11

但我找不到任何针对开发者的事情,我们应该怎么做。

Google登录网页中没有提及任何有关IOS11 Google Sign-In for iOS

的信息

Firebase

也不是

是否有人可以澄清这些图书馆在IOS11中是否仍然具有相关性,或提供已经讨论过这些问题的链接。

------添加指向Firebase示例应用的链接-----------

Firebase示例应用也无法进行Google登录,我还没有测试过所有其他应用 https://github.com/firebase/quickstart-ios/authentication/AuthenticationExampleSwift

1 个答案:

答案 0 :(得分:4)

苹果已经取消了对某些第三方社交网站(FB,Flickr,Twitter)的特殊处理,但谷歌从未列入该列表。所以,你的错误不应该与此有关。

您正在使用的库依赖于一种很好的机制来提供应用程序内外OAuth登录。基本上,该应用程序提供了一个带有OAuth页面的SFSafariViewController,然后一旦授权完成,它就会打开一个特殊的URL,然后转发回应用程序,然后解除SFSafariViewController。谷歌和FB我肯定知道他们在SDK中这样做。

在iOS 11中,Apple正在提供一种新机制来完成此工作流程。它被称为SFAuthenticationSession。他们并不弃用当前支持的方法,您可能会看到您使用的库迁移到iOS 11设备的这种新机制。

您的问题的答案是这些库仍然相关,您应该继续调查您的错误(确保您在iOS 10上没有收到错误,显然)

更新

在回答进一步提问时,我从提供的链接中启动了一个示例项目。我在模拟器上遇到了同样的问题,但是当我在iOS 11 beta 3的旧iPhone 6上运行时,它运行正常。所以,在运动中,这似乎是一个模拟器错误。一种理论可能是模拟器对某些库的主机操作系统的依赖,因此如果你运行High Sierra,你可能不会遇到这个问题。

我尝试摆弄设置中的各种开关,以使页面正确加载无济于事。看起来行动方针是:

  1. 提交radar

  2. 在设备上进行测试,直到模拟器被修复(毕竟这是测试版软件)

  3. 更新#2

    Xcode 9 beta 4中似乎修复了模拟器问题。