После обновления подов возникает ошибка дополнительного аргумента

Мой приведенный ниже код работает очень хорошо перед обновлением pod.

 func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

         let googleDidHandle = GIDSignIn.sharedInstance().handle(url, sourceApplication: sourceApplication, annotation: annotation) 

         let facebookDidHandle = ApplicationDelegate.shared.application( application, open: url, sourceApplication: sourceApplication, annotation: annotation)

         return googleDidHandle || facebookDidHandle
}

Но сегодня я обновил модуль и получил следующие ошибки

Дополнительный аргумент 'sourceApplication' в вызове

в методе открытого URL-адреса в методе AppDelegate

GIDSignIn.sharedInstance().uiDelegate = self

Я получил ошибку ниже в строке выше

Значение типа GIDSignIn? не имеет участника 'uiDelegate'

extension LoginViewController: GIDSignInDelegate, GIDSignInUIDelegate {

}

Я получил ошибку ниже в строке выше

Использование необъявленного типа GIDSignInUIDelegate

РЕДАКТИРОВАТЬ

После установки GoogSignIn версии на 4.4.0 вышеуказанные ошибки исчезли, но я столкнулся с ошибкой при повторной аутентификации пользователя Firebase.

Ошибка

Переменная "учетные данные", использованная перед инициализацией

Вот моя ссылка на еще один вопрос: Ошибка инициализации повторной аутентификации пользователя Firebase

Как я могу это исправить?


person Kuldeep    schedule 28.08.2019    source источник
comment
Измените его на GIDSignIn.sharedInstance().delegate = self   -  person Vinu Jacob    schedule 28.08.2019
comment
@VinuJacob, это я уже написал.   -  person Kuldeep    schedule 28.08.2019
comment
вы звоните uiDelegate. Позвоните delegate   -  person Vinu Jacob    schedule 28.08.2019
comment
И откройте функцию URL, изменив ее на func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { }   -  person Vinu Jacob    schedule 28.08.2019
comment
@Kuldeep GIDSignInUIDelegate удален из обновленного Pod. Чтобы использовать его, вам необходимо установить конкретную версию модуля, которая pod 'GoogleSignIn', '~> 4.1.1', тогда вы можете получить доступ GIDSignInUIDelegate Или я бы предложил обновить ваш код в соответствии с новым обновлением.   -  person Piyush    schedule 28.08.2019
comment
@PiyushPatel, после указания версии GoogleSignIn 'GoogleSignIn', '~> 4.4.0' я получаю сообщение об ошибке при повторной аутентификации пользователя Firebase. не могли бы вы изучить это: stackoverflow.com / questions / 57704646 /   -  person Kuldeep    schedule 02.09.2019


Ответы (1)


После обновления GoogleSignIn Pod 4.4.0 до 5.0.1 необходимо обновить код интеграции GoogleSignIn.

В 4.4.0 - Метод открытого URL в AppDelegate

Замените приведенный ниже код,

GIDSignIn.sharedInstance (). Handle (url, sourceApplication: sourceApplication, аннотация: аннотация)

С участием

GIDSignIn.sharedInstance (). Handle (url)

Замените приведенный ниже код,

GIDSignIn.sharedInstance (). UiDelegate = self

С участием

GIDSignIn.sharedInstance () ?. PresentingViewController = self

Протокол GIDSignInUIDelegate удален в текущем обновлении.

person Ranjani    schedule 19.11.2019