В моем приложении для iOS я хотел бы иметь следующие шаги для создания учетной записи:
- Создание учетной записи электронной почты и пароля
- Сохранить другие данные пользователя, такие как имя и т. Д.
- Пользователь может получить доступ к функциям приложения
Для первоначального определения того, аутентифицирован ли пользователь и на каком экране он будет отображаться, я использую прослушиватель в соответствии с рекомендациями Firebase.
func initialAuthHandleObserver(completionHandler: @escaping (AuthStatus) -> Void) {
Auth.auth().addStateDidChangeListener { (auth, _) in
if auth.currentUser == nil {
completionHandler(.signedOut)
} else {
completionHandler(.signedIn)
}
}
}
При создании учетной записи с использованием метода аутентификации Firebase для электронной почты и пароля пользователь входит в систему после успешной регистрации.
Однако мне все еще нужно, чтобы пользователь предоставил дополнительную информацию, такую как его имя.
В настоящее время этот наблюдатель будет запущен после шага 1 и перейдет к отображению функций приложения, и не будет гарантировать, что пользователь сначала перейдет к шагу 2, прежде чем сможет перейти к шагу 3.
Как я могу гарантировать, что пользователь всегда перейдет к шагу 2 после завершения шага 1, прежде чем он сможет получить доступ к функциям приложения, в том числе если пользователь должен был выйти из приложения после шага 1?