You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI接入Firebase实现登录:当前用户登录状态是否会持久化?

问题解答

重启模拟器后仍检测到已登录用户属于正常现象,Firebase Auth默认会持久化保存用户登录状态。

Firebase登录状态持久化规则

  • Firebase Auth SDK在iOS平台默认开启登录状态持久化能力,用户登录成功后,凭证会被加密存储到系统钥匙串中
  • 钥匙串存储的内容不会因为App重启、模拟器重启、甚至设备重启被清除,只有以下几种情况会清空登录状态:
    • 主动调用Auth.auth().signOut()方法登出
    • 卸载重装App
    • 重置模拟器所有内容和设置
    • 登录凭证过期失效(比如用户在其他端修改了密码、禁用了账号等)

代码逻辑说明

你当前的实现逻辑符合官方推荐规范:

  • 直接通过Auth.auth().currentUser是否为非空判断登录状态是正确的,SDK会自动读取本地持久化的凭证,无需自行实现本地存储逻辑
  • 如果你需要测试未登录场景,只需要调用登出方法即可,示例代码如下:
func signOut() {
    do {
        try Auth.auth().signOut()
        signedIn = false
    } catch let signOutError as NSError {
        print("登出错误: %@", signOutError)
    }
}

内容的提问来源于stack exchange,提问作者mdav132

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:24:02