0
내 앱에서 firebase 인증을 설정하고 있습니다. 내가 잘못하고있는 오류는 잘못된 로그인 자격 증명으로 로그인 할 때마다 인증이 올바를 때 실행되는 블록이 호출된다는 것입니다. 그래서 정확하게 (네 번째 시도에서) 정확하게 로그인 할 때 3 회 잘못 로그인하려고합니다. 내 segue가 4 번 수행됩니다.Firebase 부정확 로그인 지연
@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 기능을 잘못 사용하고 있습니까? 올바른 자격 증명이 입력되었는지 확인하는 더 좋은 방법이 있습니까? 그것은 당신 같은 코드의
FIRAuth.auth()?.signInWithEmail(email, password: password) { (user, error) 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)
}
}
을,하지만 난 addAuthStateDidChangeListener을 제거했습니다
방금 작성했습니다. 그것은 작동해야합니다. –
고맙습니다. –
문제는 없습니다. 이것은 당신이 올바른 답변으로 upvote/mark하시기 바랍니다 :) –