据我所知,我已经按照 Google 在网站上声明的方式实现了 Google 登录。它工作了一段时间,但现在我无法让它工作。我收到错误消息“操作无法完成。(com.google.GIDSignIn 错误 -4。)”并且不确定发生了什么。我已经检查了这个特定错误的文档,并在 Stack Overflow 上遍历了所有可能的想法。感谢您提前提供的帮助。
最佳答案
如此处所述http://cocoadocs.org/docsets/GoogleSignIn/4.0.0/Constants/GIDSignInErrorCode.html
typedef NS_ENUM(NSInteger, GIDSignInErrorCode ) {
kGIDSignInErrorCodeUnknown = -1,
kGIDSignInErrorCodeKeychain = -2,
kGIDSignInErrorCodeNoSignInHandlersInstalled = -3,
kGIDSignInErrorCodeHasNoAuthInKeychain = -4,
kGIDSignInErrorCodeCanceled = -5,
};
错误意味着钥匙串(keychain)中没有授权 token ,即“用户未被授权”。在这种情况下,您已登录,然后关闭并重新打开该应用。
要检查用户是否被授权,使用这段代码:
func checkIfUserIsAuthorized() {
if GIDSignIn.sharedInstance().hasAuthInKeychain() {
// User authorized before
GIDSignIn.sharedInstance().signInSilently()
} else {
// User not authorized open sign in screen
}
}
关于ios - Google 登录错误 -4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739557/