2017-03-01 7 views
1

Ich arbeite an einer App, die Firebase-Authentifizierung und Datenbank benötigt. Bei der Registrierung muss die App prüfen, ob der eingegebene Code echt ist, und dann fortfahren, um einen Benutzer zu erstellen. Dies ist mein Code:Firebase-Datenbank funktioniert nicht

ref = FIRDatabase.database().reference() 

    self.ref.child("PatientCodes").observeSingleEvent(of: .value, with: { (snaphshot) in 
     print("In") 
     let value = snaphshot.value as! NSArray 

     if value.contains(self.patientIDTextField.text!) { 
      print("Found ID") 

      FIRAuth.auth()?.createUser(withEmail: self.emailTextField.text!, password: self.passwordTextField.text!, completion: { (user, error) in 
       if user != nil { 
        self.performSegue(withIdentifier: "registered", sender: self) 
       } 
      }) 

     } 

Das Problem, das ich habe, ist, keiner der Code wird ausgeführt Vergangenheit self.ref.child usw. Die print("In") Aussage nie getroffen.

Jede Hilfe wird sehr geschätzt. Danke im Voraus.

+0

Zeigen Sie Ihre Firebase-JSON-Struktur an, auf der Sie die obige Abfrage ausführen. –

+0

Ich kann diese Daten nicht zeigen, es ist vertraulich für den Kunden, aber der Elternteil ist "PatientCodes", und die Kinder sind darunter aufgeführt. – EvanRey

+0

@EvanRey bitte studieren [MCVE] (http://stackoverflow.com/help/mcve), was die Notwendigkeit und den Wert einer minimalen Reproduktion des Problems erklärt. –

Antwort

0

Sehen Sie sich die Regeln Ihrer Datenbank an. Die Standardregel verhindert anonymen Lese- und Schreibzugriff. Sie müssen sich also zuerst anmelden, um auf die Datenbank zugreifen zu können.

{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null" 
    } 
} 
Verwandte Themen