Eri*_*c33 1 swift firebase-authentication
您好,我是 firebase 新手,想确认我对 auth 函数的理解。(addStateDidChangeListener)
一点背景:
当应用程序首次启动时,首先调用应用程序委托,然后调用此 sceneDelegate 函数。现在,它将根据用户是否登录来显示一个屏幕。如果他们没有注册,它将向他们显示我的登录/注册屏幕(self.createHandleSignInOrSignUp())。
现在有2个问题:
他们注册或登录后,应用程序会跳回到里面的这段代码.addStateDidChangeListener。
这是因为身份验证状态发生了变化,对吗?
此外,当应用程序运行时,您可以注销,然后调用此代码块。
这是因为该函数在应用程序运行时始终“监听”身份验证状态更改?
下面的代码是我的 SceneDelegate.swift 文件的一部分以及我有疑问的函数。
谢谢
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
handle = Auth.auth().addStateDidChangeListener({ auth, user in
if (user != nil) {
self.window!.rootViewController = self.createTabBar()
}
else {
self.window!.rootViewController = self.createHandleSignInOrSignUp()
}
})
window?.makeKeyAndVisible()
}
Run Code Online (Sandbox Code Playgroud)
每次身份验证状态更改时,都会调用身份验证状态更改侦听器的完成处理程序。这通常是异步发生的,例如当用户登录或注销时。
身份验证状态侦听器将保持活动状态,直到您将其删除或直到应用程序退出。
| 归档时间: |
|
| 查看次数: |
2994 次 |
| 最近记录: |