2016-10-01 4 views
4

Ich versuche herauszufinden, wie man einen bestimmten Fehler erkennt. Sagen Sie, dass die Anmeldung fehlgeschlagen ist. Ich möchte prüfen, ob der Fehler besagt, dass das eingegebene Konto nicht existiert, und dies dem Betrachter mitteilen. Das Gleiche gilt für alle anderen Fehler, wenn möglich.Firebase 3.6.0 (Auth) - Erkennen des spezifischen Fehlers mit Swift 3.0

In Parse würde ich überprüfen, ob der error.code gleich einer bestimmten Zahl war, nicht sicher, ob es gleich oder ähnlich Firebase ist. diese

+0

http://stackoverflow.com/questions/37449919/Lesen-Firebase-Auth-Fehler-geworfen-Firebase-3-x-und-swift Frage beantwortet hier, gleichen Code Dravidian geschrieben – Rialcom

+0

Ich konnte nichts finden whil Ich suche im Voraus, danke, dass ich darauf hingewiesen habe. –

+0

@Rialcom das ist nicht die gleiche Antwort. In swift3 müssen Sie auf Ihren Fehler als '._code' zugreifen. – Dravidian

Antwort

6

Verwendung: -

if let errCode = FIRAuthErrorCode(rawValue: err!._code) { 

       switch errCode { 
       case .errorCodeInvalidEmail: 
        print("invalid email") 
       case .errorCodeEmailAlreadyInUse: 
        print("in use") 
       default: 
        print("Other error!") 
       } 

      } 

Wo err ist die empfangene Fehler von Feuerbasis

2

Hier ist neues Format mit Benachrichtigung

Auth.auth().createUser(withEmail: email, password: password) { (user: User?, error) in 

if error != nil { 

    if let errCode = AuthErrorCode(rawValue: error!._code) { 

     switch errCode { 
     case .invalidEmail: 

      print("invalid email") 
      // Create an alert message 
      let alertMessage = UIAlertController(title: "Invalid Email", message: "Please check the entered email address", preferredStyle: .alert) 
      // Attach an action on alert message 
      alertMessage.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in 
       alertMessage.dismiss(animated: true, completion: nil) 
      })) 
      // Display the alert message 
      self.present(alertMessage, animated: true, completion: nil) 

     case .emailAlreadyInUse: 

      print("in use") 
      // Create an alert message 
      let alertMessage = UIAlertController(title: "Existed Email", message: "The email existed in our database, login instead of registering", preferredStyle: .alert) 
      // Attach an action on alert message 
      alertMessage.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in 
       alertMessage.dismiss(animated: true, completion: nil) 
      })) 
      // Display the alert message 
      self.present(alertMessage, animated: true, completion: nil) 

      case .weakPassword: 

       print("password is weak") 
       // Create an alert message 
       let alertMessage = UIAlertController(title: "Password is weak", message: "Use upper and lower characters along with numbers", preferredStyle: .alert) 
       // Attach an action on alert message 
       alertMessage.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in 
        alertMessage.dismiss(animated: true, completion: nil) 
       })) 
       // Display the alert message 
       self.present(alertMessage, animated: true, completion: nil) 

     default: 
      print("Other error!") 
     } 

    } 
}