GoogleSignIn: значение типа GIDSignInResult не имеет аутентификации члена

Я недавно обновил текущую версию GoogleSignIn и не могу найти решение этой проблемы, с которой столкнулся. Ошибка, которую я получаю: значение типа «GIDSignInResult» не имеет члена «аутентификация»

func googleSignInAction(){
        guard let clientID = FirebaseApp.app()?.options.clientID else { return }
        let config = GIDConfiguration(clientID: clientID)
        
        GIDSignIn.sharedInstance.signIn(withPresenting: self) { user, error in
            if let error = error {
                print("There is an error signing the user in ==> \(error)")
                return
            }

            guard let authentication = user?.authentication, let idToken = authentication.idToken else { return }
            let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)

            Auth.auth().signIn(with: credential) { authResult, error in
                if error != nil {
                    print(error)
                } else {
                    self.email = authResult?.user.email
                    self.photoURL = authResult?.user.photoURL!.absoluteString
                    self.checkIfUserAccountExists()
                }
            }
        }
        
        //PRevious code that worked
//        GIDSignIn.sharedInstance.signIn(with: config, presenting: self) { [unowned self] user, error in
//
//            if let error = error {
//                print("There is an error signing the user in ==> \(error)")
//                return
//            }
//
//            guard let authentication = user?.authentication, let idToken = authentication.idToken else { return }
//            let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)
//
//            Auth.auth().signIn(with: credential) { authResult, error in
//                if error != nil {
//                    print(error)
//                } else {
//                    self.email = authResult?.user.email
//                    self.photoURL = authResult?.user.photoURL!.absoluteString
//                    self.checkIfUserAccountExists()
//                }
//            }
//        }
    }

52
1

Ответ:

Решено

Старое замыкание обновляется с user, error in на authentication, error in, где authentication имеет тип GIDSignInResult

func googleSignInAction() {
    
    GIDSignIn.sharedInstance.signIn(withPresenting: self) { authentication, error in
        if let error = error {
            print("There is an error signing the user in ==> \(error)")
            return
        }
        guard let user = authentication?.user, let idToken = user.idToken?.tokenString else { return }
        let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: user.accessToken.tokenString)
        
        Auth.auth().signIn(with: credential) { authResult, error in
            if error != nil {
                print(error)
            } else {
                self.email = authResult?.user.email
                self.photoURL = authResult?.user.photoURL!.absoluteString
                self.checkIfUserAccountExists()
            }
        }
    }
}