2016-06-10 355 views
0

据我所知,我已经实施谷歌登录的确切方式,谷歌声明在网站上做到这一点。它工作了一段时间,但现在我无法实现它的工作。我收到错误“操作无法完成(com.google.GIDSignIn错误-4。)”,我不确定发生了什么。我已经检查过这个特定错误的文档,并且在堆栈溢出中查看了所有可能的想法。我很感激任何帮助。谷歌登录错误-4

+0

您使用signInSilently方法 –

回答

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 

    } 
} 
+0

Alrighty,使修复1个问题。谢谢!但是,现在我遇到了一个问题,如果我点击Google按钮,它什么都没有。任何想法? – impression7vx

+0

你可以添加你的代码吗 –

+0

没关系,我收到了错误,因为没有验证,正如你已经回答的那样。这导致我找出了真正的问题,我问了另一个问题。这是一个链接。 http://stackoverflow.com/questions/37741890/google-sign-in-button-does-nothing/37747516#37747516 – impression7vx