GoogleSignIn - Всегда возвращать сообщение «Пользователь отменил вход в систему». в IOS 11 - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь использовать GoogleSignIn в своем проекте, но у меня проблема при вызове GIDSignIn.sharedInstance().signIn()

Я получил предупреждение ниже:

[Warning] Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<SFAuthenticationViewController: 0x7fccba008c00>)

А в «GIDSignInDelegate» всегда была ошибка «Пользователь отменил вход в систему».

func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?) {}

Я искал где-то, но не смог найти никаких решений для этого случая, спасибо за чтение, надеюсь, вы мне поможете: ((

ОБНОВЛЕНИЕ 1: добавить реализацию GIDSignInUIDelegate

extension MyClass: GIDSignInUIDelegate {
    func sign(inWillDispatch signIn: GIDSignIn!, error: Error!) {

        print(#function)
    }

    func sign(_ signIn: GIDSignIn!, present viewController: UIViewController!) {
        print(#function)
        self.present(viewController, animated: true, completion: nil)

    }

    func sign(_ signIn: GIDSignIn!, dismiss viewController: UIViewController!) {
        print(#function)
        self.dismiss(animated: true, completion: nil)
    }
}

и я получил сообщение ниже:

[Warning] Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<SFAuthenticationViewController: 0x103023800>)

ОБНОВЛЕНИЕ 2: Появляется какое-то время оповещения (на изображении), затем я нажимаю на кнопку отмены, и оно снова не отображается Изображение здесь

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

У меня тоже была такая же проблема. Объект GIDSignInButton не нуждается в addTarget в коде или связывании @IBAction. Класс GIDSignInButton уже выполнил это действие для нас.

0 голосов
/ 03 сентября 2018

, если вы используете GIDSignInButton, замените его на UIButton системы. У меня это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...