Проверка состояния входа для каждого ViewController - PullRequest
0 голосов
/ 30 октября 2019

Я новичок. Я разрабатываю приложение с Swift. Я использую Firebase для входа. Но мне было интересно, нужно ли мне писать коды для проверки статуса входа пользователя для каждого viewController в целях безопасности. Или вход нужен только для входа в viewController, например, для блокировки только передней двери. Мой код может не понадобиться, но ниже приведен код, который я написал:

        // Mark: User Sign-in Status Recheck
        Auth.auth().addStateDidChangeListener { auth, user in
            if user != nil {
                if let user = user {
                    let userUid = user.uid
                    let userEmail = user.email
                }
            } else {
                let InitialSignInFirstViewController = self.storyboard?.instantiateViewController(withIdentifier: "SignInFirstViewController") as! InitialSignInViewController
                self.present(SignInFirstViewController, animated: false, completion: nil)
            }
        }

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Вам не нужно управлять состоянием или запускать прослушиватель, есть более простой способ сделать это, например,

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. Дайте мне знать, если вам понадобится дополнительная помощь.

0 голосов
/ 30 октября 2019

В моем приложении есть страница быстрого доступа, которая проверяет, вошел ли пользователь в систему при загрузке приложения. Если они вошли в систему, они продолжат работу в приложении, и вам не нужно проверять, пока приложение не закроется и не откроется снова. Если они не вошли в систему, они переходят к другому контроллеру представления для входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...