So überprüfen Sie, ob bereits eine E-Mail-Adresse in Verwendung ist Firebase

arbeit an einigenFirAuth Dinge, aber aus irgendeinem Grund kann ich nicht herausfinden, wie man überprüft, ob die vom Benutzer vorgeschlagene E-Mail-Adresse bereits vergeben wurde. Ich habe versucht, @ anzuruf.fetchProvidersForEmail wie in anderen Fragen vor einiger Zeit vorgeschlagen, aber aus welchem Grund auch immer, es wird einfach nicht funktionieren. Ich bin auch sehr umweltbewusst, wenn es um die Bearbeitung von Abschlüssen geht, daher wäre auch jede konstruktive Kritik dazu willkommen. Die Teile meines Codes, die sich vorerst darauf beziehen, sind:

import UIKit
import Firebase
class LoginViewController: UIViewController {
var reply : Bool = true
@IBOutlet weak var emailTxt: UITextField!

@IBAction func nextScreen(sender: UIButton) {
print(emailCheck(emailTxt.text!))
}

 func emailCheck(input : String)->Bool{
    let pullEmails = FIRAuth.auth()!.fetchProvidersForEmail(input, completion:{
        result,error in
        var decision : Bool = true
        if error == "nil" {
            print(error)
            self.reply = true
        }else{
            print(error)
            self.reply = false
        }
    })
    return reply
}
}

So was damit passiert ist, dass die Antwort immer druckttrue, wahrscheinlich weil ich es oben explizit definiert habe. In jedem Fall ist es fast so, als würde der Completion-Handler nicht darauf warten, tatsächlich abgeschlossen zu werden, bevor erreturns der Wert. Ich habe versucht, herauszufinden, wie man sie benutzt, sowieAsyncTasks, aber ich habe mich gefragt, ob es einen einfachen Fehler gibt, den ich hier gemacht habe und der das lösen könnte. Danke an alle

Antworten auf die Frage(4)

Ihre Antwort auf die Frage