You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI macOS应用无法向Firestore添加对象问题求助

解决Firebase Realtime Database连接被服务器强制终止的问题

首先要明确:你代码里调用的是Firebase Realtime Database的API(Database.database()),但描述里提到的是Firestore——这是Firebase的两个独立数据库服务,错误提示也完全指向Realtime Database的配置问题,先理清这一点再排查:

核心问题排查步骤

1. 确认是否误用了数据库服务

  • 如果你的目标是使用Firestore,当前代码完全错误,应改用Firestore的API,正确代码示例:
import FirebaseFirestore

let db = Firestore.firestore()
db.collection("test").addDocument(data: ["test": 123]) { error in
    if let error = error {
        print("添加数据失败:\(error)")
    } else {
        print("数据添加成功")
    }
}
  • 如果确实要使用Realtime Database,按以下步骤检查配置:

2. 检查Realtime Database实例状态

登录Firebase控制台,确认你已创建Realtime Database实例(不是Firestore)——若未创建,需先完成实例创建并选择对应地区。

3. 核对Realtime Database URL配置

打开GoogleService-Info.plist(你提到的google.plist),确认FIRDatabaseURL字段的值和控制台里Realtime Database的URL完全一致,格式通常为https://[项目ID]-default-rtdb.[地区].firebasedatabase.app/,注意大小写、结尾斜杠和地区后缀。

4. 调整Realtime Database安全规则

默认的Realtime Database安全规则禁止所有读写操作,会导致服务器拒绝连接。临时修改规则用于测试:
在Firebase控制台的Realtime Database规则页面,将规则改为:

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

注意:上线前必须修改为符合业务逻辑的安全规则,避免数据泄露。

5. 确认依赖库是否正确引入

如果使用CocoaPods,确保Podfile中包含pod 'Firebase/Database';如果用Swift Package Manager,确认已添加Firebase Database的依赖(不是只添加了Firestore)。

6. 验证初始化流程

确保FirebaseApp.configure()在应用启动时被正确调用,你的AppDelegate代码无明显问题,但可在调用数据库操作前打印FirebaseApp.app(),确认Firebase已成功初始化。

内容的提问来源于stack exchange,提问作者PiterPan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 07:13:32