2017-08-15 12 views
0

私がサインインするユーザーサービスの利用をコード化されています:Firebase:サインインに失敗した場合、エラーコードを取得する方法は?

func login(email: String, password: String) -> Bool { 

    var userIsConnected = false 

    Auth.auth().signIn(withEmail: email, password: password) { (user, error) in 

     if error != nil { 

      print(type(of: error)) // Print 'NSError' 
      print(error!) 
     } 

     else { 

      userIsConnected = true 
     } 
    } 
    return userIsConnected 
} 

私はerrorprintとき私が手:

エラードメイン= FIRAuthErrorDomain コード= 17008「メールアドレスがひどくています がフォーマットされました。 UserInfo = {NSLocalizedDescriptionは、メールアドレスが不正な形式の です=。、ERROR_NAME = ERROR_INVALID_EMAIL}

にはどうすればCode値(17008)は、いくつかのカスタム動作を行うことができるように得ることができますか?

注:以前のバージョンのFirebaseAuthでは、単にerror.codeを行うことはできますが、最後のバージョンではできません。

答えて

1

ErrorErrorは、NSErrorにキャストできます。

if let error = error, (error as NSError).code == 17008 { 
    // do something 
} 
0

TRY error?.localizedDescription

// to show error through alert controller 
    let alertController = UIAlertController(title: "your title", message: error?.localizedDescription, preferredStyle: .alert) 

    let defaultAction = UIAlertAction(title: AlertActionTitle, style: .cancel, handler: nil) 
    alertController.addAction(defaultAction) 
    self.present(alertController, animated: true, completion: nil) 
+0

OPは 'code'はなく、それに関連したメッ​​セージを募集しています。 – eshirima

関連する問題