我正在测试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
的信息 也不是是否有人可以澄清这些图书馆在IOS11中是否仍然具有相关性,或提供已经讨论过这些问题的链接。
------添加指向Firebase示例应用的链接-----------
Firebase示例应用也无法进行Google登录,我还没有测试过所有其他应用 https://github.com/firebase/quickstart-ios/authentication/AuthenticationExampleSwift
答案 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,你可能不会遇到这个问题。
我尝试摆弄设置中的各种开关,以使页面正确加载无济于事。看起来行动方针是:
提交radar
在设备上进行测试,直到模拟器被修复(毕竟这是测试版软件)
Xcode 9 beta 4中似乎修复了模拟器问题。