@IBAction func loginEmailButton(sender: AnyObject) {
FIRAuth.auth()?.signInWithEmail(email.text!, password: password.text!, completion: { (user, error) in
if error != nil {
if let errCode = FIRAuthErrorCode(rawValue: error!.code) {
switch errCode {
case .ErrorCodeInvalidEmail:
self.emailLoginStatus = "invalid email"
case .ErrorCodeUserDisabled:
self.emailLoginStatus = "User account disabled"
case .ErrorCodeWrongPassword:
self.emailLoginStatus = "Wrong Password"
case .ErrorCodeUserNotFound:
self.emailLoginStatus = "User not found"
case .ErrorCodeNetworkError:
self.emailLoginStatus = "Could not connect"
default:
self.emailLoginStatus = "Login Error"
}
}
}else{
self.emailLoginStatus = "Logged"
}
})
if self.emailLoginStatus == "Logged"{
self.performSegueWithIdentifier("emailLoginToSearchSegue", sender: self)
}else{
showAlert(emailLoginStatus)
}
}
Я отлаживать шаг за шагом кода, и это ситуация: Когда я нажимаю на loginEmailButton
в первый раз, электронная почта и пароль параметры устанавливаются к функции signInWithEmail
, но эта функция не выполняется (следующий этап отладки идет непосредственно из функции без запуска блока завершения).Swift - Firebase функция signInWithEmail не выполняет в первом вызове
Затем симулятор отображает предупреждение без текста, но если я закрою предупреждение и снова коснусь loginEmailButton
, то signInWithEmail
будет выполнен правильно и отобразит предупреждение с правильным сообщением. Я даже попробовал обновить модули Firebase, но проблема все еще остается.
Любое предложение? Благодаря!
Accept (галочка в левом верхнем углу моего ответа), это как ответ, если он решил проблему :) Happy Coding – Dravidian
Дравидских, ваш ответ имеет смысл, спасибо, но я уже пробовал раньше, но безуспешно. Если я помещаю функцию performSegueWithIdentifier в функцию signInWithEmail и нажимаю кнопку «Вход», сеанс запускается без проверки ошибок signInWithEmail. Это происходит потому, что функция signInWithEmail по-прежнему не выполняется в первом вызове, и теперь эта функция скрывает функцию executeSegueWithIdentifier – Enzo
Но если err == nil, то зачем ему нужно проверять ошибки? – Dravidian