2017-03-01 101 views
1

我正在研究需要Firebase身份驗證和數據庫的應用程序。註冊時,應用程序必須檢查輸入的代碼是否正確,然後繼續創建用戶。這是我的代碼:Firebase數據庫不工作

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) 
       } 
      }) 

     } 

我遇到的問題是,正在執行無代碼的過去self.ref.childprint("In")語句不會被擊中。

任何幫助,非常感謝。提前致謝。

+0

顯示您正在運行上述查詢的Firebase JSON結構。 –

+0

我無法顯示這些數據,它對客戶是保密的,但是,父母是「PatientCodes」,並且孩子在那裏被列出。 – EvanRey

+0

@EvanRey請研究[MCVE](http://stackoverflow.com/help/mcve),它解釋了對問題進行最小程度的重現的需求和價值。 –

回答

0

看看你的數據庫的規則,默認規則防止匿名讀寫,所以你必須先登錄才能訪問數據庫。

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