2016-06-10 166 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