Как проверить, используется ли уже адрес электронной почты Firebase
работая над некоторымиFirAuth
вещи, но по какой-то причине я не могу понять, как проверить, был ли предложенный пользователями адрес электронной почты уже занят. Я пробовал звонить.fetchProvidersForEmail
как предлагалось в других вопросах некоторое время назад, но по какой-то причине это просто не сработает. Кроме того, я очень зелен, когда дело доходит до обработчиков завершения, так что любая конструктивная критика по этому поводу также будет приветствоваться. Итак, на данный момент, части моего кода, которые относятся к этому:
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
}
}
Так что происходит с этим, что ответ всегда печатаетtrue
Возможно, потому что я явно определил его сверху. В любом случае, похоже, что обработчик завершения не ожидает фактического завершения доreturns
Значение. Я пытался выяснить, как их использовать, а такжеAsyncTasks
, но мне было интересно, была ли здесь простая ошибка, которая могла бы решить эту проблему. Спасибо всем!