I'm having this case where the GIDSignIn.sharedInstance().signInSilently() is returning an error:
Error Domain=com.google.GIDSignIn Code=-4 "The operation couldn’t be completed. (com.google.GIDSignIn error -4.)"
I can't seem to find any documentation of this error under the google signin docs or stackOverflow for that matter.
I'm expecting this to error to happen if I request a silent signIn for no previously signedIn user. But to my surprise it even happens when I have a user previously signedIn and I attempt to signIn Silently a second time after a few seconds.
A second issue I'm having difficulty with is to determine if there is a user signed In using :
GIDSignIn.sharedInstance().currentUser
which is either a nil or a GIDGoogleUser object.
Any help making progress on this issue would be much appreciated.
Thanks
Here are the error codes from GIDSignIn.h
. The -4
code is sent by signInSilently
when there are no auth tokens in the keychain. See comments.
// A list of potential error codes returned from the Google Identity SDK.
typedef NS_ENUM(NSInteger, GIDSignInErrorCode) {
// Indicates an unknown error has occured.
kGIDSignInErrorCodeUnknown = -1,
// Indicates a problem reading or writing to the application keychain.
kGIDSignInErrorCodeKeychain = -2,
// Indicates no appropriate applications are installed on the user's device which can handle
// sign-in. This code will only ever be returned if using webview and switching to browser have
// both been disabled.
kGIDSignInErrorCodeNoSignInHandlersInstalled = -3,
// Indicates there are no auth tokens in the keychain. This error code will be returned by
// signInSilently if the user has never signed in before with the given scopes, or if they have
// since signed out.
kGIDSignInErrorCodeHasNoAuthInKeychain = -4,
// Indicates the user canceled the sign in request.
kGIDSignInErrorCodeCanceled = -5,
};
For the Google SDKs in general I've found the header file comments are actually a pretty good place to look, usually more informative than any published documentation.