2017-07-30 1 views
0

Beim Aufrufen des folgenden Codes erhalte ich die folgende Fehlermeldung "Es gibt keinen Benutzerdatensatz entsprechend dieser Kennung. Der Benutzer wurde möglicherweise gelöscht."
Ist der Benutzer nicht durch den obigen Code an diesem Punkt erstellt? Ich versuche, die E-Mail-Adresse des neuen Nutzers mit einer Bestätigungs-E-Mail nach der Erstellung zu bestätigen. DankSenden einer Bestätigungs-E-Mail direkt nach der Benutzererstellung in Firebase

let saveAction = UIAlertAction(title: "Create", 
            style: .default) { action in 
            let emailField = alert.textFields![0] 
            let passwordField = alert.textFields![1] 

            Auth.auth().createUser(withEmail: emailField.text!, 
                  password: passwordField.text!) { user, error in 
                  if error == nil { 
                   Auth.auth().signIn(withEmail: self.textFieldLoginEmail.text!, 
                        password: self.textFieldLoginPassword.text!) 
                  } 
                          } 
            Auth.auth().currentUser?.sendEmailVerification { (error) in 
             if let error = error 
             {print("Error when sending Email verification is \(error)")} 
            } 

                 } 

Antwort

1

Wenn Sie einen Benutzer erstellen, werden sie automatisch angemeldet So ermitteln Sie den Anmelde-Anruf entfernen und das Senden der Bestätigungs-E in den Abschluss-Handler bewegen.

Auth.auth().createUser(withEmail: emailField.text!, 
         password: passwordField.text!) { user, error in 
         if error == nil { 
          Auth.auth().currentUser?.sendEmailVerification { (error) in 
          if let error = error 
           .... 

In Fällen, in denen das nicht funktioniert, hat die Anmelde-Methode auch einen Abschluss-Handler, also:

+0

vielen Dank Frank. Mir wurde gerade klar, dass ich das Zeichen gleich nach der Erstellung hatte. Deine erste Lösung hat funktioniert. – user2867432

Verwandte Themen