應用配置已完成。Firebase:儘管我正在設置數據,但值並沒有真實反映Firebase的實時數據庫
用於數據的基礎上規則被設定爲
{
"rules": {
".read": true,
".write": true
}
}
//declaration
var userDB: FIRDatabaseReference!
在viewDidLoad中()
userDB = FIRDatabase.database().reference()
//for reference database
動作方法是像下面
@IBAction func next(_ sender: Any) {
guard fullname.text != "",email.text != "",password.text != "" ,confirmPassword.text != "" else {
return
}
if(password.text == confirmPassword.text)
{
FIRAuth.auth()?.createUser(withEmail: email.text!, password: password.text!, completion: { (user, error) in
if let error = error {
print(error.localizedDescription)
}
if let error = error {
print(error.localizedDescription)
}
if let user = user {
print(user.uid)
let changeRequest = FIRAuth.auth()!.currentUser!.profileChangeRequest()
changeRequest.displayName = self.fullname.text!
changeRequest.commitChanges(completion: nil)
let imageRef = self.userStorage.child("\(user.uid).jpg")
let data = UIImageJPEGRepresentation(self.uploadPictureImageview.image!, 0.5)
let uploadTask = imageRef.put(data!, metadata: nil, completion: { (metadata, err) in
if err != nil {
print(err!.localizedDescription)
}
imageRef.downloadURL(completion: { (url, er) in
if er != nil {
print(er!.localizedDescription)
}
print(url)
if let url = url {
print(url)
let userInfo: [String : String] = ["uid" : user.uid,
"full name" : self.fullname.text!,
"urlToImage" : url.absoluteString]
self.userDB.child("users").child(user.uid).setValue(userInfo)
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "usersVC")
self.present(vc, animated: true, completion: nil)
}
})
})
uploadTask.resume()
}
})
}
else{
print("Password didnot match")
}
}
字典類型已經改變從[String:Any]到[String:String]
數據未保存在Firebase的實時數據庫中。我忘了什麼嗎?
你認證嗎? –
yea @AndriySavran 存儲正在更新生動 –
他已經制定了Firebase規則,以至於他甚至不必認證用戶。你有沒有嘗試將你的userInfo字典更改爲'let userInfo:[String:String] = ...'?你肯定'self.fullname.text!'有價值嗎?您是否還從Firebase項目下載了GoogleService-Info.plist文件並將其添加到您的Xcode項目中? – MikeG