【问题标题】:Firebase Realtime on iOS: Cannot access Realtime DatabaseiOS 上的 Firebase Realtime:无法访问实时数据库
【发布时间】:2021-03-20 22:09:47
【问题描述】:

我收到以下错误:

[Firebase/Database][I-RDB034005] Firebase 数据库连接被服务器强行终止。不会尝试重新连接。原因:Firebase 错误。请确保您的 Firebase 名称拼写正确

管理控制台上的权限设置为 .read 和 .write 为 false

我理解错误。当我运行以下命令并打印变量的值时:

Database.database().reference()

我明白了(无法编辑):

https://bananas-31fe5-default-rtdb.firebaseio.com

在管理控制台上我有(无法编辑):

https://bananas-31fe5-default-rtdb.europe-west1.firebasedatabase.app

在管理控制台上,我尝试在美国创建一个新数据库(并禁用主数据库),但 xcode 上的那个似乎没有改变。

我的直觉是,这与 pod 库未更新以启用多个数据库位置有关(欧盟处于测试阶段)。

【问题讨论】:

  • 我收到此错误是因为我单击了 Firebase 控制台左侧的错误按钮并创建了 Firestore 数据库而不是实时数据库。一旦我创建了正确的数据库,错误就会解决并且应用程序可以运行。

标签: ios xcode firebase firebase-realtime-database


【解决方案1】:

firebaser 在这里

对于非美国中心数据库,SDK 可能无法从plist 文件中读取信息,因此您必须在代码中传递它。

您可以将数据库 URL 传递到对 database 的调用中,例如:

Database.database("https://bananas-31fe5-default-rtdb.europe-west1.firebasedatabase.app").reference()

请参阅 docs 以了解该方法覆盖。

【讨论】:

  • 应用程序崩溃:'传递给 getReference() 的 URL (bananas-31fe5-default-rtdb.europe-west1.firebasedatabase.app) 无效。 URL 应与配置的数据库 URL 匹配:bananas-31fe5-default-rtdb.firebaseio.com'
  • 嗯...根据我的理解应该可以工作。你能把你在问题中使用的确切代码吗?另外:您使用的是什么版本的 iOS SDK?
  • 一位队友发现了我的错误:数据库 URL 需要进入对 database(...) 的调用。我也在我的答案中修复了它,所以试一试。
【解决方案2】:

当您第一次创建实时数据库时,DATABASE_URL 会添加到服务器端的 GoogleService-Info.plist 文件中。您可能会收到错误消息,因为 GoogleService-Info.plist 已过时且不包含 DATABASE_URL。您可以从项目设置中下载更新后的 GoogleService-Info.plist 文件,然后重试。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 2021-04-22
    • 2021-04-13
    • 2020-08-13
    • 2019-02-16
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    相关资源
    最近更新 更多