1
Я пытался сделать эту работу, но isEmailVerified
продолжает возвращать ложные ... даже думал, что я четко проверил электронное письмо.Swift Firebase Проверка электронной почты всегда возвращает false
Создание пользователя
FIRAuth.auth()?.createUser(withEmail: Email.text!, password: Password.text!) { (user:FIRUser?, error:Error?) in
if error == nil {
let when = DispatchTime.now() + 1
DispatchQueue.main.asyncAfter(deadline: when) {
FIRAuth.auth()?.currentUser?.sendEmailVerification(completion: { (error) in
let post2 = UIAlertController(title: "Verification sent", message: "A Email will be sent to activate your account.", preferredStyle: .alert)
post2.addAction(UIAlertAction(title: "OK", style: .default, handler: { (_) in
self.performSegue(withIdentifier: "Sign_in", sender: nil)
}))
self.present(post2, animated: true, completion: nil)
})
}
} else {
self.ErrorMsg.isHidden = false
self.Password.text = ""
print(error.debugDescription)
}
}
Проверка пользователя
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if let user = user {
Shared.shared.User_ID = user.uid
Shared.shared.User_Email = user.email
if user.isEmailVerified {
// Email Verified
self.performSegue(withIdentifier: "Launch_L", sender: nil)
} else {
self.logOut.isHidden = false
}
} else {
self.performSegue(withIdentifier: "Launch_S", sender: nil)
}
}
Заранее спасибо за помощь!
Вы когда-нибудь понять это? – cyril
@cyril yup Я связался с поддержкой, мне нужно было поставить «FIRAuth.auth() ?. currentUser ?.reload()», прежде чем проверять, проверен ли пользователь –