Cómo verificar si una dirección de correo electrónico ya está en uso Firebase
trabajando en algunosFirAuth
cosas, pero por alguna razón no puedo entender cómo verificar si la dirección de correo electrónico propuesta por los usuarios ya ha sido tomada. He intentado llamar.fetchProvidersForEmail
como se sugirió en otras preguntas de hace un tiempo, pero por alguna razón simplemente no funcionará. Además, soy muy ecológico cuando se trata de controladores de finalización, por lo que cualquier crítica constructiva al respecto también sería bienvenida. Entonces, por ahora, las partes de mi código que pertenecen a esto son:
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
}
}
Entonces, lo que sucede con esto es que la respuesta siempre se imprimetrue
, probablemente porque lo definí explícitamente en la parte superior. De cualquier manera, es casi como si el controlador de finalización no estuviera esperando para completarse antes de quereturns
el valor. He tratado de descubrir cómo usarlos, así comoAsyncTasks
, pero me preguntaba si había un simple error que cometí aquí que podría resolver esto. ¡Gracias a todos!