【发布时间】:2017-01-27 16:16:00
【问题描述】:
我在使用 Swift 编写的 iOS 应用中使用 Firebase。
static func createUserRecord(uid: String, user: User){
let userDictionary = user.getJSON()
self.usersRef.child(uid).setValue(userDictionary)
}
此代码在我发布我的应用程序之前运行良好,在发布应用程序后我无法再添加用户记录,该应用程序的所有其他功能都运行良好,包括保存和检索一些数据。谁能发现这段代码中的错误?
即使路径不存在,setValue 是否也有效?例如如果路径a/b/ 在那里,我打电话给a/b/c.child('d').setValue("abcd")。这行得通吗?
【问题讨论】:
-
您的 Firebase 安全规则是否设置为允许保存这些数据?
-
调用
setValue()将创建路径,如果它还不存在的话。根据数据库(或您的安全规则),您的user.getJSON似乎更有可能包含无效的内容。您需要附加一个完成块来检测这一点:firebase.google.com/docs/reference/ios/firebasedatabase/… -
@chickenparm 是的,它们都适用于读写,我在将图片上传到存储时遇到了另一个问题,(一个小时前它工作得很好)这可能是带宽问题吗?我应该考虑升级计划吗?
-
@FrankvanPuffelen 谢谢,getJSON 正在为某些用户返回一个键的字符串值,而它预计是布尔值,刚刚修复它现在可以工作,谢谢,你可以考虑添加您的评论作为答案。
-
我实际上花了最后 20 分钟写一个 SO 文档部分,以备下次有人遇到此问题时使用:stackoverflow.com/documentation/firebase/5548/… :-)
标签: ios swift firebase swift2 firebase-realtime-database