Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Firebase数据库_Ios_Swift_Firebase Realtime Database - Fatal编程技术网

Ios Firebase数据库

Ios Firebase数据库,ios,swift,firebase-realtime-database,Ios,Swift,Firebase Realtime Database,问题:由于某些原因,数据未发送到firebase中的我的数据库。有人知道为什么没有发送信息吗 我用//*******突出显示代码,以显示我将其发送到的位置 规则: { "rules": { ".read": "true", ".write": "true" } } import UIKit import Firebase import FirebaseDatabase import KeychainSwift class

问题:由于某些原因,数据未发送到firebase中的我的数据库。有人知道为什么没有发送信息吗

我用//*******突出显示代码,以显示我将其发送到的位置

规则:

{
  "rules": {
              ".read": "true",
              ".write": "true"

  }
}

import UIKit
import Firebase
import FirebaseDatabase
import KeychainSwift




class SignUpController: UIViewController {

    //INPUT - from keyboard email & password
    @IBOutlet weak var emailField: UITextField!
    @IBOutlet weak var passwordField: UITextField!

    //Data Base Initialization
    //var ref: FIRDatabaseReference!

    let dataRef = FIRDatabase.database().reference()

    override func viewDidLoad() {
        super.viewDidLoad()


    }

    //PROCESS - Checks is user has already been logged in
    override func viewDidAppear(_ animated: Bool) {

       let currentUser = FIRAuth.auth()?.currentUser

        if currentUser != nil {
            performSegue(withIdentifier: "SignIn", sender: nil)
            }


    }

    func CompleteSignIn(id: String){
        let keyChain = DataService().keyChain
        keyChain.set(id , forKey: "uid")
    }


    //If SignUp button is pressed user will be directed to sign up page
    @IBAction func LoginPressed(_ sender: Any) {
        self.performSegue(withIdentifier: "BackToLogin", sender: nil)
    }





    /*If both password and email contain text lets put them into string variables
       called email & password. Creates user and authorizes sign in                                      */

    @IBAction func SignIn(_ sender: Any){

        if let email = emailField.text, let password = passwordField.text {

            FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in
                if error == nil {

                    self.CompleteSignIn(id: user!.uid) //Completese Database Sign in
                    //************************************************
                    //Send information to Database
                    let userEmail : String = self.emailField.text!
                    let userPassword : String = self.passwordField.text!
                    let userID : String = user!.uid
                    self.dataRef.child("Users").child(userID).setValue(["Email": userEmail, "Password" : userPassword])
                 //************************************************
                    print("Sign in Test")

                    self.performSegue(withIdentifier: "SignIn", sender: nil)

                } else {
                    FIRAuth.auth()?.createUser(withEmail: email, password: password) { (user, error) in
                        if error != nil {

                            Alerts().invalidSignUpAlert(sender: self) //Alert for invalid email & Password
                            print("cant sign in user") //Programmer Debugging

                        } else {
                            self.CompleteSignIn(id: user!.uid)
                            self.performSegue(withIdentifier: "SignIn", sender: nil)
                        }
                    }
                }
            }
        }
    }
}

您需要作为布尔值,而不是字符串“true”

在规则中添加“用户”,如下所示:

"rules": {
  "Users":{
     ".read": "true",
     ".write": "true"
  }
}

你能在firebase日志中看到新用户吗???或者这也不起作用?是的,我可以在Logu中看到用户显示数据库的结构…数据库只是默认的,没有添加任何内容。你说的布尔值是什么意思?它不允许{“规则”:{“用户”:{.read”:“true”,“.write”:“true”}}谢谢你的解决方案,欢迎你,但是很明显梅奇登找到了正确的解决方案?是的。问题出在Firebase数据库自身的规则范围内。我还在学习firebase,所以这是一个巨大的帮助。
"rules": {
  "Users":{
     ".read": "true",
     ".write": "true"
  }
}