Вам не нужно управлять состоянием или запускать прослушиватель, есть более простой способ сделать это, например,
if Auth.auth().currentUser != nil {
// User is signed in.
// ...
} else {
// No user is signed in.
// ...
}
Обновление
Вы можете создать один класс, который просто предоставит пользователю вход в статус, как показано ниже:
struct UserSignInStatus {
var isLoggedIn: Bool {
return (Auth.auth().currentUser != nil)
}
}
Использование: UserSignInStatus.isLoggedIn
Вы можете поместить этот код в любом месте, какв вашем AppDelegate
классе, где вы проверяете статус входа и в зависимости от того, кто управляет вашим rootViewController
. Дайте мне знать, если вам понадобится дополнительная помощь.