据我所知,我已经按照Google声明在网站上执行此操作的方式实施了Google登录。它工作了一段时间,但现在我无法让它工作。我收到错误"操作无法完成。 (com.google.GIDSignIn错误-4。)"我不确定发生了什么。我检查了这个特定错误的文档,并在Stack Overflow上查看了所有可能的想法。我提前感谢任何帮助。
答案 0 :(得分:2)
如此处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,
};
错误表示钥匙串中没有身份验证令牌,即"用户未经授权"。在这种情况下,您已登录,然后关闭应用程序并重新打开它。
要检查用户是否获得授权,请使用以下代码:
func checkIfUserIsAuthorized() {
if GIDSignIn.sharedInstance().hasAuthInKeychain() {
// User authorized before
GIDSignIn.sharedInstance().signInSilently()
} else {
// User not authorized open sign in screen
}
}