首页 > 解决方案 > 在 iOS 上使用 FirebaseUI 自动登录

问题描述

我正在按照此处的文档使用 FirebaseUI 在 iOS 应用程序上显示登录屏幕。 https://firebase.google.com/docs/auth/ios/firebaseui?authuser=2

如何在用户之前已经登录后自动登录,而无需每次都显示此 UI?

标签: iosobjective-cfirebasefirebase-authenticationfirebaseui

解决方案


Firebase Auth SDK 将在应用启动之间保留登录信息。但是,当应用程序启动时,登录的用户不会立即可用。您应该做的是使用addStateDidChangeListener建立一个身份验证状态侦听器,以查明经过身份验证的用户何时确实已登录。

这种模式可以在另一个问题中看到:Checking Firebase current signed-in user via Listener in iOS

FIRAuth.auth()?.addStateDidChangeListener { auth, user in
  if let user = user {
    // User is signed in. Show home screen
  } else {
    // No User is signed in. Show user the login screen
  }
}

当第一次知道用户的状态时,将调用该块,因此您可以使用它来决定是否预设登录屏幕。


推荐阅读