Firebase DataBase
问题:由于某些原因,数据未被发送到我的Firebase数据库。任何人都可以找出为什么信息不被发送?Firebase DataBase
我用// ********突出显示了代码,以显示我发送它的位置。
规则:
{
"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)
}
}
}
}
}
}
}
添加 “用户”:
"rules": {
"Users":{
".read": "true",
".write": "true"
}
}
,如下图所示,您需要为布尔值,而不是字符串 “true” 的规则
{
"rules": {
".read" : true,
".write":true
}
}
我真的不能看到为什么它不工作。 –
复制并粘贴上面的代码,它将起作用。 – Aragunz
{ “规则”:{ “用户”:{ “.read ”: “真”, “ .WRITE”: “真正的” } \t}} –
你能够在Firebase日志中看到新用户?或者那也不起作用? – 2017-02-24 09:21:55
是的,我能看到用户在日志中 –
可以显示数据库的结构... – 2017-02-24 09:28:17