Я последовал официальному руководству и проверил, что clientID настроен правильно, а схема URL-адреса зарегистрирована.
Вот мой код:
ApplicationDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Setup Google SingIn
GIDSignIn.sharedInstance().clientID = "363974216099-mnrmo2bhkg9lttb6j891g1qvdqlccr4v.apps.googleusercontent.com"
GIDSignIn.sharedInstance().scopes =
["https://www.googleapis.com/auth/plus.login",
"https://www.googleapis.com/auth/plus.me"]
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return GIDSignIn.sharedInstance().handle(url as URL?,
sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}
Делегаты устанавливаются в ViewController и даже не выполняются. Схема url зарегистрирована, вот .plist:
Я пробовал и на симуляторе, и на устройстве. И я всегда получаю это:
Если я вызываю signInSilently, метод делегата вызывается с ошибкой:
The operation couldn’t be completed. (com.google.GIDSignIn error -4.)
Нет. Мне он нужен?
да, вам нужно добавить 'googleapis.com/auth/plus.login', например GIDSignIn.sharedInstance (). scopes ("googleapis.com/auth/plus. войти "). GIDSignIn.sharedInstance (). scopes (" googleapis.com/auth/plus. меня ")
Я добавил области и обновил сообщение, и это не помогло, по-прежнему показывает ту же ошибку.
GIDSignIn.sharedInstance (). SignInSilently () добавьте это в. Надеюсь, вы добавили правильный идентификатор пакета и активировали вход в Google из консоли Google.
Я попытался войти в систему с помощью signInSilently, и он вызывает делегата с ошибкой. Операция не может быть завершена. (com.google.GIDSignIn ошибка -4.)
Позвольте нам продолжить обсуждение в чате.
Я заставил это работать. Вам необходимо настроить экран OAuth Consent в разделе Credentials. Вам нужно выбрать адрес электронной почты.
вы добавили 'GIDSignIn.sharedInstance (). scopes'