Firestore文档创建失败,没有错误

时间:2019-03-06 09:10:12

标签: ios swift firebase firebase-realtime-database google-cloud-firestore

Edit3 :好的,这似乎是Firebase的问题,其他人在推特上也提到了同样的问题。我还联系了支持部门。

一段处理创建文档的Swift代码突然停止工作。没有引发任何错误,Firebase在日志中没有抱怨,我可以从控制台确认未创建文档,也可以确认设备具有正常的Internet连接。为了确保安全,我还为Firebase禁用了离线持久性。

当我尝试调试它时,调试器会直接跳过处理错误或成功的代码块,从不运行它(即从不完成Firestore请求?)。

这是代码

    func createConversation(){
    let conversation : [String : Any] = ["owners" : [
        UserProfile().getProfile().uid!],
                                         "seeking" : true,
                                         "timestamp" : Timestamp(date: Date())
    ]

    var ref: DocumentReference? = nil
    ref = DB().firestore().collection("Conversations").addDocument(data: conversation){ err in
        if let err = err {
            print("Error creating a convo: \(err)")
        } else {
            print("Conversation created with ID: \(ref!.documentID)")
            StateMachine().action(a: .seekingStarted(ref!.documentID))


        }
        print("Conversation Creation finished")
    }
    let documentID = ref?.documentID
    print(ref.debugDescription)

}

我不确定如何解决这个问题,有什么想法吗?

编辑:好的,问题不仅限于此代码块,似乎Firebase无法与服务器通信。我已经等了5分钟以上,addDocument才返回(有错误或成功),但从未发生。

我注意到在启动App时BoringSSL有点抱怨,但这并不新鲜,而且其他Firebase服务也没有问题,它们运行正常-读取和创建数据没有问题。

BoringSSL complains

Edit2 :显然,我可以从Firestore中获取收藏夹和文档,该问题似乎仅限于创建文档/收藏夹。

1 个答案:

答案 0 :(得分:0)

文档创建操作会花费一些时间,如果将断点放在异步完成块中,您肯定会得到错误或成功。