我的应用程序具有“使用Google登录”按钮。当我尝试在iOS 13.0上登录时,GM GIDSignInDelegate didSignInForUser:WithError:返回此错误:
Error Domain=com.google.GIDSignIn Code=-1 "The operation couldn’t be completed. (org.openid.appauth.general error -3.)"
我不知道如何解决此问题。我正在将Google Sign In 5.0.0用作Firebase 6.8.1的一部分。
答案 0 :(得分:3)
以下是成功拥有登录视图的解决方案。出现ViewController的视图后,调用signin方法,但不会以编程方式将其关闭。我刚刚在IOS 13中实现了它,并且效果很好。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
GIDSignIn.sharedInstance()?.delegate = self
GIDSignIn.sharedInstance()?.presentingViewController = self
GIDSignIn.sharedInstance()?.scopes = [kGTLRAuthScopeDrive]
GIDSignIn.sharedInstance()?.prepareForInterfaceBuilder()
GIDSignIn.sharedInstance()?.signIn()
}
答案 1 :(得分:2)
我知道了! AppAuth-iOS
是GoogleSignIn
SDK的开放源代码依赖项,已于8月从1.1.0更新到1.2.0,其中包括this iOS 13支持。因此,您需要运行pod update GoogleSignIn
将AppAuth
更新为1.2.0。 GoogleSignIn
SDK本身从5.0.0开始就没有更新,这让我感到困惑。
答案 2 :(得分:1)
我下载了Firebase 6.9.0 SDK zip,并遇到了同样的问题。自述文件指示捆绑的AppAuth版本为1.2.0。我可以通过将AppAuth更新为主版本来解决此问题。
具体地说,我删除了 Firebase随附的AppAuth框架,而是使用迦太基构建了AppAuth。
答案 3 :(得分:1)
供其他用户发现此问题时参考:
Google在GoogleSignIn
v5.0.1中修复了此问题。将应用更新到iOS 13时,您可能还必须更新GoogleSignIn SDK。
答案 4 :(得分:0)
如果您使用的是迦太基的Firebase 6.9.0,请将github“ openid / AppAuth-iOS”“ master”添加到您的Cartfile中任何Firebase条目下方。
答案 5 :(得分:0)
对不起,如果错了。
我认为如果没有定位,就会发生此错误。
不仅支持13,而且支持10。
解决方案,但不要使您的Pod版本保持最新。
4.4.0。
pod 'GoogleSignIn', '4.4.0'
这个版本没问题。
我预料到了错误。小于
新版本可能会使用xcode11.3生成的某些代码, 这样就可以了,现有的可能会在13点停止处理