Почему моя функция sendEmailVerification (beforeUpdatingEmail) не всегда возвращает ошибку? - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь получить электронное письмо с подтверждением для отправки перед обновлением электронного адреса пользователя. Однако на данный момент это не работает. Не знаю почему. Я пробовал множество разных подходов. Я думаю, это может быть из-за того, что я помещаю строку после user?.sendEmailVerification(beforeUpdatingEmail: ), но я не уверен. Любая помощь могла бы быть полезна. Я застрял на этом какое-то время.

@IBAction func setEmailIsTapped(_ sender: Any) {
            let error = validateEmailField()
            if error != nil {
                print(error!) //Needs a Label
            }
            let db = Firestore.firestore()
                let userID = Auth.auth().currentUser?.uid
             let emailSearch = db.collection("users")
                let email = emailTextField.text!
            let query = emailSearch.whereField("email", isEqualTo: email).getDocuments { (snapshot, error) in
                 if let error = error {
                    print("An error was encountered")
                 } else {
                     if snapshot!.isEmpty {
                        let user = Auth.auth().currentUser
                        user?.sendEmailVerification(beforeUpdatingEmail: self.emailTextField.placeholder!, completion: { (error) in
                            if error != nil {
                                print("Error sending update email")
                            } else {
                                print("Success")
                            }
                        })
                    }
                }

        }
        }

1 Ответ

0 голосов
/ 18 июня 2020

Вы должны передать email вместо UITextField s placeholder в качестве параметра, например:

user?.sendEmailVerification(beforeUpdatingEmail: email, completion: { (error) in
    if error != nil {
        print("Error sending update email")
    } else {
        print("Success")
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...