После того, как мое приложение Login VC проходит проверку подлинности с помощью firebase, но при нажатии на VC «Создать имя пользователя» кратко отображается начальный Login VC. Я пытаюсь предотвратить это! По сути, он показывает чёрно-синий и черный журнал в VC после того, как новый пользователь создает пароль прямо перед отображением Create Username VC.
Войдите, чтобы создать имя пользователя
(логин ВК)
typealias FIRUser = FirebaseAuth.User
class LoginViewController: UIViewController {
@IBOutlet weak var loginButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func loginButtonTapped(_ sender: Any) {
guard let authUI = FUIAuth.defaultAuthUI() else { return }
authUI.delegate = self
let authViewController = authUI.authViewController()
present(authViewController, animated: true)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
}
extension LoginViewController: FUIAuthDelegate {
func authUI(_ authUI: FUIAuth, didSignInWith user: FIRUser?, error: Error?) {
if let error = error {
assertionFailure("Error signing in: \(error.localizedDescription)")
return
}
guard let user = user else { return }
UserService.show(forUID: user.uid) { (user) in
if let user = user {
User.setCurrent(user, writeToUserDefaults: true)
let initialViewController = UIStoryboard.initialViewController(for: .main)
self.view.window?.rootViewController = initialViewController
self.view.window?.makeKeyAndVisible()
} else {
self.performSegue(withIdentifier: Constants.Segue.toCreateUsername, sender: self)
}
}
}
}