应用程序在G+登录时崩溃
Crashlytics报告方法:
[GPPSignIn addSavedKeychainName:]
的例外是:
Fatal Exception: NSInvalidArgumentException
[___NSArrayM insertObject:AtIndex:]: object cannot be nil
我的代码是:
- (void)googleLogin
{
GPPSignIn *gppSignIn = [GPPSignIn sharedInstance];
gppSignIn.clientID = GOOGLE_CLIENTID;
gppSignIn.scopes = [NSArray arrayWithObjects:kGTLAuthScopePlusLogin, nil];
gppSignIn.delegate = self;
gppSignIn.shouldFetchGoogleUserEmail = YES;
gppSignIn.attemptSSO = YES;
[SVProgressHUD show];
[gppSignIn authenticate];
}
还有其他人有这个问题并且知道如何解决吗?
这可能是由于您调用了
[gppSignIn authenticate];
相反,尝试:
[gppSignIn trySilentAuthentication];
如果您希望用户自动登录。
您可能还想尝试将作用域作为字符串常量传递,以确保kGTLAuthScopePlusLogin
值不会发生任何事情:
signIn.scopes = [NSArray arrayWithObjects:
@"login",
nil];
同样值得注意的是,当达到此状态时,可能会将用户签出可以解决问题:
[[GPPSignIn sharedInstance] signOut];