【问题标题】:Firestore not loading or storing data to db swiftFirestore 未将数据加载或存储到 db swift
【发布时间】:2018-03-05 14:02:49
【问题描述】:

我没有任何代码,因为我对数据库的所有调用都存在问题。

突然我无法将数据加载或存储到数据库中,但 firestore 仍然在离线模式下工作,所以当我发布一条新消息时,它会显示在应用程序中,但是当我在 firebase 控制台中检查我的数据库时,数据是找不到。

我仍然可以从存储中加载图片,因此我知道该应用已连接。

有人知道这是什么原因吗?

斯威夫特 4 火力基地 4.9.0 Firestore 0.10.1

我现在创建了一个只有 texField、Button 和一个 activityIndi​​cator 的 testViewController,看看我是否可以通过基本调用编写一些数据。

这是我的代码,它只打印 1 和 4,活动指示器会保持动画。

class TestViewController: UIViewController {

    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var activityIndicator: UIActivityIndicatorView!

    let database = Firestore.firestore()

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func didTapStoreButton(_ sender: Any) {
        print(1)
        activityIndicator.startAnimating()

        database.collection("test").document("testDocument").setData(["testString" : textField.text ?? ""]) { (error) in

            print(2)

            if error != nil {
                self.activityIndicator.stopAnimating()
                print("Error adding document: \(error.debugDescription)")
            } else {
                self.activityIndicator.stopAnimating()
                print("Document added")
            }

            print(3)
        }

        print(4)
    }

}

【问题讨论】:

  • 您是否遇到任何错误?
  • @AndréKool 没有错误。我有一个 uiactivityindicator,它在点击保存按钮时开始动画,并在成功或失败时停止动画,但它一直在动画。
  • 您对 Firebase 的调用通常都应该有错误捕获,因此如果函数失败,则会将错误记录到控制台(例如)。这些错误通常在调用之后的闭包中报告。此问题可能是由多种原因引起的,因此了解更多信息有助于排除故障。
  • @Jay 我确实有错误捕获,问题是它永远不会失败或成功,它只是继续运行
  • Firebase 非常擅长捕获错误,因此这可能是一种极端情况。但是,一些基本的故障排除将帮助我们帮助您 - 在您的代码中添加一个断点并将代码(有效)运行到该断点,然后手动逐行逐行执行您的代码,直到它继续运行。然后应该将那段代码包含在您的问题中,以便我们有机会识别问题。请花点时间查看How to create a Minimal, Complete, and Verifiable example

标签: swift firebase google-cloud-firestore


【解决方案1】:

终于!

所以我已经为这个错误苦苦挣扎了好几个小时,甚至删除了我设备上的应用程序并清理了我的 xCode 项目,但它仍然没有修复它。

我决定再次删除应用程序并清理项目,但在再次将应用程序构建到我的 iOS 设备上之前,我决定重新启动我的 iOS 设备并成功了!

【讨论】:

  • 好吧,这实际上并没有奏效,错误又回来了,我需要再次删除应用程序来修复它。最终回滚到旧分支
  • 我在 Android 中遇到了同样的问题,所以我尝试使用 firebase 控制台删除一个字段。该字段已被删除,但刷新页面后该字段又出现了!!!也许我的配置不好,或者某些价值正在破坏 Firestore 内部结构而没有错误报告。我不知道,错误是间歇性的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 2018-11-17
相关资源
最近更新 更多