Swift Firebase getIDToken()因Google凭证而崩溃

我在尝试使用Google凭据检索Firebase idToken时遇到问题。但它可以与电子邮件/通行证一起使用。

Firebase设置

func configureSDK(){
    FirebaseApp.configure()

    GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
    GIDSignIn.sharedInstance().delegate = self
 } 

Google代表

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

    if let error = error {
        //error handling...

        return
    }

    guard let authentication = user.authentication else {

        //error handling
        return
    }

    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                   accessToken: authentication.accessToken)

    Auth.auth().signIn(with: credential) { (user, error) in
        self.handleAuthAnswer(user: user, error: error)
    }
}

登录处理

func handleAuthAnswer(user: User?, error: Error?){
    //error handling...
    //unwrapping User object
    //attempting to get token
    user.getIDToken(){ (idToken, error) in
        if error == nil, let token = idToken {
            self.idToken = token
        }else{
            //error handling
        }

    }
}

根据Firebase SDK指南,我得到的用户对象不是nil,这意味着该用户已登录。我在Firebase控制台中看到该用户。问题是,当我尝试获取idToken时,应用程序崩溃。并且无论我是尝试注册还是在下次启动后从Auth.auth()。currentUser获取令牌

电子邮件/通行证注册并使用相同的方法登录以获取ID令牌,并且可以正常运行而不会出错或崩溃

异常截图: 跟踪 线

编辑:豆荚

Using Firebase (4.13.0)
Using FirebaseAnalytics (4.2.0)
Using FirebaseAuth (4.6.1)
Using FirebaseCore (4.0.20)
Using FirebaseInstanceID (2.0.10)
Using GTMOAuth2 (1.1.6)
Using GTMSessionFetcher (1.1.15)
Using GoogleSignIn (4.1.2)
Using GoogleToolboxForMac (2.1.3)
Using nanopb (0.3.8)

已解决:Firebase Pod已降级为4.11.0。工作正常

Installing Firebase 4.11.0 (was 4.13.0)
Installing FirebaseAnalytics 4.1.0 (was 4.2.0)
Installing FirebaseAuth 4.5.0 (was 4.6.1)
Installing FirebaseCore 4.0.18 (was 4.0.20)
Using FirebaseInstanceID (2.0.10)
Using GTMOAuth2 (1.1.6)
Using GTMSessionFetcher (1.1.15)
Using GoogleSignIn (4.1.2)
Using GoogleToolboxForMac (2.1.3)
Using nanopb (0.3.8)
穆罕默德·汉南

请检查您使用的库版本。每当函数,凭据或API发生任何错误时,请始终检查您使用的版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章