是否可以在致电Auth.auth().createUser(withEmail: createEmail...
我有多个注册视图控制器,用户必须按确切的顺序输入电子邮件地址,创建用户名,然后输入其名称和创建密码。但是,除了名称和密码(一个在一起)之外,这些都是单独的视图控制器。
我希望用户知道输入的电子邮件地址格式是否正确,或者是否已被使用。我弄清楚该怎么做的唯一方法是在用户浏览所有视图控制器之后,然后单击“注册”按钮以检查所有错误。
这是我为最终视图控制器所拥有的代码,该代码在所有步骤完成后都会创建用户(按下注册按钮)
Auth.auth().createUser(withEmail: createEmail as! String, password: password as! String ) { (user, error) in
// stop activity indicator
self.nextButton.setTitle("Sign Up", for: .normal)
self.activityIndicator.stopAnimating()
if error == nil && user != nil {
print("User Created!")
// If user is created go to Welcome Page
self.performSegue(withIdentifier: "goToWelcomeVC", sender: self)
} else {
// If there is an error creating an account
print("error creating User: \(error!.localizedDescription)")
print(error!._code)
self.handleError(error!)
return
这是我正在为电子邮件视图控制器使用的代码。 (按下继续按钮)**不必介意AuthErrorCode的大部分内容,我正试图找到一种方法来调用它并将其合并到错误检查中。.看来对我来说不是很好。
// TODO check email
let invalidEmail = AuthErrorCode.invalidEmail
let emailTaken = AuthErrorCode.emailAlreadyInUse
}
if (emailTextField.text?.isEmpty)! {
print("textField is empty")
let alert = UIAlertController(title: "Oops!", message: "Please enter an email address.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: " Try Again", style: UIAlertAction.Style.default, handler: nil))
self.present(alert, animated: true, completion: nil)
} else {
self.performSegue(withIdentifier: "goToCreateUsernameVC", sender: self)
}
}
答案 0 :(得分:1)
您需要签出fetchSignInMethodsForEmail
。它提供了一个API,用于查找所提供电子邮件的所有相关登录方法。如果电子邮件未注册,您将返回一个空数组。