Я настраиваю firebase auth в своем приложении. Ошибка, с которой я столкнулся, заключается в том, что для каждого входа в систему с неправильными учетными данными пользователя вызывается блок, который запускается при правильной авторизации. Так что скажем, я пытаюсь войти в систему неправильно, 3 раза, когда я, наконец, вхожу в систему правильно (с четвертой попытки), мой сеанс выполняется 4 раза.Firebase неверный логин swift
@IBAction func signInTapped(sender: UIButton) {
if let email = self.usernameTextField.text {
if let password = self.passwordTextField.text {
FIRAuth.auth()?.signInWithEmail(email, password: password) { (user, error) in
FIRAuth.auth()?.addAuthStateDidChangeListener { auth, user in
if user != nil {
self.performSegueWithIdentifier("loggedInSegue", sender: self)
NSUserDefaults.standardUserDefaults().setValue(true, forKey: "loggedIn")
NSUserDefaults.standardUserDefaults().setValue(email, forKey: "email")
NSUserDefaults.standardUserDefaults().setValue(password, forKey: "password")
} else {
self.incorrectLoginAnimation(self.passwordTextField)
self.incorrectLoginAnimation(self.usernameTextField)
}
}
}
}
}
}
Я неправильно использую функцию sighInWithEmail? Есть ли лучший способ проверить, были ли введены правильные учетные данные?
Я просто писал его. Он должен работать. –
Большое спасибо. –
Нет проблем. Если это помогло вам, пожалуйста, воздержитесь/отметьте как правильный ответ :) –