gpt4 book ai didi

ios - UserDefaults 自动登录不起作用

转载 作者:行者123 更新时间:2023-11-28 14:32:28 29 4
gpt4 key购买 nike

因此,当用户首次打开我的应用程序时,他们将看到一个带有按钮的 View ,用于继续登录或注册。在我的登录 View 中,我有一个按钮处理程序(通过操作附加),当用户按下登录按钮时调用它。尽管我使用 UserDefaults 来存储登录状态,但我的应用程序不会自动直接进入我的仪表板 View 。有什么想法吗?

// Firebase auth in doLogin action (Login VC)

Auth.auth().signIn(withEmail: un, password: pw)
{
(resp, err) in if (err == nil && resp != nil)
{
if (resp!.user.isEmailVerified)
{

// segue from Login VC to Dashboard VC will be exectuted

self.performSegue(withIdentifier: "loggedin", sender: nil)


// store the logged in state as true for the future

UserDefaults.standard.set(true, forKey: "loggedin")

UserDefaults.standard.synchronize()

}
}
}

这里是主视图 Controller 的代码,用于确定它是否应该直接进入仪表板。

func loggedIn() -> Bool {

// determine if the user is still logged into the app

return UserDefaults.standard.bool(forKey: "loggedin")

}


override func viewDidLoad() {

super.viewDidLoad()


if (loggedIn())
{

// logged in, return to the dashboard view controller

performSegue(withIdentifier: "persisted", sender: nil)

}

}

我已经尝试使用 print 语句,但是 loggedIn 函数由于某种原因没有被执行,或者控制台被 Firebase 调试日志语句淹没,甚至看不到这些。

最佳答案

您必须将主视图 Controller 嵌入到 UINavigationController 中才能使 persisted segue 正常工作。

关于ios - UserDefaults 自动登录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51156194/

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