gpt4 book ai didi

Swift Firebase getIDToken() 使用 Google 凭据崩溃

转载 作者:可可西里 更新时间:2023-11-01 01:09:02 26 4
gpt4 key购买 nike

<分区>

我在尝试使用 Google 凭据检索 Firebase idToken 时遇到了一些问题。但它适用于电子邮件/通行证。

Firebase 设置

func configureSDK(){
FirebaseApp.configure()

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

谷歌代表

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 指南,我得到的用户对象不是零,这意味着用户已登录。我在 Firebase 控制台中看到了该用户。问题是,当我尝试获取 idToken 时,应用程序崩溃了。而且无论我是尝试注册,还是在下次启动后从 Auth.auth().currentUser 获取 token

使用相同的方法通过电子邮件/通行证注册并登录以获取 ID token ,它可以正常工作,不会出现错误或崩溃

异常截图: Trace Thread

编辑: pod

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)

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com