Я использую API Google Таблиц и API-интерфейс Drive API и перенаправил приложение для использования Google SignIn вместо встроенной проверки веб-браузера. Я могу успешно зарегистрировать пользователя и пройти аутентификацию для служб API, однако всякий раз, когда приложение входит в фоновый режим, оно не сохраняет учетные данные. Ранее этот код будет просто перезагрузить учетные данные из брелка и обновить маркеры, если это будет необходимо немедленно:Google SignIn не сохраняет учетные данные при повторном запуске приложения?
self.service.authorizer =
[GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName
clientID:kClientID
clientSecret:nil];
Но теперь мне нужно проверить, если учетные данные существуют в связке ключей, используя следующий код в моем AppDelegate:
if ([GIDSignIn sharedInstance].hasAuthInKeychain) {
NSLog(@"Auth exists in keychain!");
[[GIDSignIn sharedInstance] signInSilently];
} else {
NSLog(@"No credentials in keychain!");
[[GIDSignIn sharedInstance] signIn];
}
SignInSilently, кажется, занимает некоторое время, и мне нужно приостановить мой код в течение 3 секунд, прежде чем передавать учетные данные в мои службы API. Из документации не представляется возможным просто сохранить и перезагрузить учетные данные из брелка?