Привет, я новичок в firebase и хочу подтвердить свое понимание функции аутентификации. (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()
}