Ios 使用swift 4.2时遇到的Firebase数据库权限被拒绝错误

Ios 使用swift 4.2时遇到的Firebase数据库权限被拒绝错误,ios,swift,firebase,Ios,Swift,Firebase,这就是我面临的错误: 未能在数据库中保存用户:错误域=com.firebase代码=1“权限被拒绝”UserInfo={NSLocalizedDescription=权限被拒绝} 您没有权限管理数据库中的/user路径 检查Firebase安全规则。允许未经验证的访问数据库 进入项目控制台中的“数据库”面板,选择“规则”选项卡,并用以下规则替换内容: guard let uid = user?.uid else {return} let usernameValue = ["username"

这就是我面临的错误:

未能在数据库中保存用户:错误域=com.firebase代码=1“权限被拒绝”UserInfo={NSLocalizedDescription=权限被拒绝}


您没有权限管理数据库中的
/user
路径


检查Firebase安全规则。

允许未经验证的访问数据库

进入项目控制台中的“数据库”面板,选择“规则”选项卡,并用以下规则替换内容:

guard let uid = user?.uid  else {return}

let usernameValue = ["username":username]
let value = [uid: usernameValue]

Database.database().reference().child("user").updateChildValues(value, withCompletionBlock: { (err, ref) in
    if let err = err{
        print("failed to save user in db:", err)
    }else{
        print("successfully Work")
    }
})
这使您的新数据库人人可读写


避免此问题的另一个技巧是调用Firebase身份验证的signIn…方法之一,以确保用户在访问数据库之前已登录。

service cloud.firestore{match/databases/{database}/documents{match/{document=**}{allow read,write:if true;}}}如何在此处设置规则{match/databases}/{database}/documents{match/{document=**}{allow read,write;}}}以上规则仅用于测试目的。必须在生产中更改。检查此链接:我刚刚注意到您正在使用实时数据库代码并在注释中显示Firestore规则。Firestore规则对实时数据库没有影响。您必须检查实时数据库安全规则或在项目中使用Firestore代码发射型计算机断层扫描仪
{
  "rules": {
    ".read": true,
    ".write": true
  }
}