Firebase数据库setValue:或removeValue失败:permission_denied iOS

问题描述 投票:5回答:5

我正在尝试将数据写入Firebase数据库,但是当我按下保存的按钮时,我仍然收到以下错误。

2016-12-02 11:09:42.548 StartupNow [1482:60415] [FirebaseDatabase] setValue:或removeValue:at / test / -KY-VpLZWbp4vjF3BpMk失败:permission_denied

我尝试过的事情:我确保在我的控制台中将.read和.write规则设置为true,重新连接我的savedButtonPressed按钮,并在函数中编写Firebase引用并在savedButtonPressed()方法中调用它。

额外资源这是我正在遵循的教程。 https://youtu.be/F42CzqIBxHQ?t=4m14s

var ref: FIRDatabaseReference?

override func viewDidLoad() {
    super.viewDidLoad()

    ref = FIRDatabase.database().reference()

}

@IBAction func saveButtonPressed() {
   // TODO: Post data to Firebase

    firebaseChild()
    print("********************************")
    print("********************************")

}

func firebaseChild () {
    ref?.child("Test").childByAutoId().setValue("Hello Firebase")

}
ios swift firebase firebase-realtime-database ios10
5个回答
8
投票

FreddieOh和我在Slack聊天,问题是GoogleService-info.plist文件中列出的数据库与他正在编辑的数据库不匹配。 (看起来可能在这种情况下,他已经删除并在Firebase控制台中重新创建了项目,但是没有更新plist文件。)

如果您发现自己处于相同的情况,即将读写访问权限设置为true并且仍然获得权限拒绝错误,请打开GoogleService-info.plist文件并查看DATABASE_URL的条目。然后转到项目中的Firebase数据库,查看数据选项卡的顶部,并确认其中列出的URL与plist文件中的URL相同。

我想要检查的另一件事是您更新了数据库规则以允许全局访问但忘记单击“发布”按钮。那......可能曾经发生在我身上。 :)


15
投票

我有一个类似的问题。通过重置数据库的读/写规则解决了这个问题。如果您更改了规则,请尝试将其重置为默认值。

警告:这些规则允许任何人读写您的数据库!

实时数据库的默认规则

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

Cloud Firestore的默认规则

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

8
投票

转到Firebase控制台,然后执行以下步骤,即图像中的标识。

请查找图像并按照以下步骤操作。如果您是初学者并且在图像中遇到问题。我制作了关于错误的小视频。

视频解决方案:https://youtu.be/FcQCPqckvqo

图像解决方案enter image description here


2
投票

尝试使用每个资源后,我解决了同样的问题。唯一的解决方案是

转到fireBase控制台 - >选择你的项目 - >转到数据库 - >选择规则(“在数据旁边的中间显示”) - >使make both选项为true

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

这将是完美的工作

enter image description here

enter image description here


0
投票

确保选择实时数据库并编辑规则然后发布.enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.