gpt4 book ai didi

ios - 重新启动应用程序时 GIDSignIn.sharedInstance().currentUser nil

转载 作者:可可西里 更新时间:2023-11-01 00:50:37 24 4
gpt4 key购买 nike

最初我在检查我们是否已将数据保存到钥匙串(keychain)中时遇到了问题。我找到了这篇文章并遵循了 BhavinBhadani 的建议:

Whenever you check if ([GIDSignIn sharedInstance].hasAuthInKeychain) , before that add your sign in scopes..

https://github.com/googlesamples/google-services/issues/27

这解决了我的第一个问题,即 GIDSignIn.sharedInstance().hasAuthInKeychain() 在用户之前成功登录然后终止应用程序并重新运行后返回 true。

但是现在我正在做以下事情:

let signIn = GIDSignIn.sharedInstance()
signIn.scopes = [Constants.GOOGLE_CLIENT_SCOPE, Constants.GOOGLE_OIDC_SCOPE]

if GIDSignIn.sharedInstance().hasAuthInKeychain() {
print("We have saved in keychain")

if let u = GIDSignIn.sharedInstance().currentUser {
getData(dataApi)
}
else {
// THIS CODE IS BEING SUCCESSFULLY HIT
GIDSignIn.sharedInstance().signInSilently()
getApplicationData(dataApi)
}
}

然而,即使在执行以下操作之后:GIDSignIn.sharedInstance().signInSilently() GIDSignIn.sharedInstance().currentUser 为零。

有没有人成功使用signInSilently()再次填充currentUser数据?

最佳答案

最近,Google 在 Google SignIn SDK v5.0.0 中更改了检查用户是否已登录的方法。

Update calls to signInSilently and hasAuthInKeychain to restorePreviousSignIn and hasPreviousSignIn.

所以代码看起来像

if(GIDSignIn.sharedInstance().hasPreviousSignIn()) {

GIDSignIn.sharedInstance()?.restorePreviousSignIn()

} else {

navigateToLogin()

}

迁移指南:https://developers.google.com/identity/sign-in/ios/quick-migration-guide

关于ios - 重新启动应用程序时 GIDSignIn.sharedInstance().currentUser nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39830457/

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