iOS:尝试访问Firestore触发器EXC_BAD_ACCESS

时间:2018-01-04 11:49:48

标签: ios google-cloud-firestore

Xcode 9.2中的Swift 4项目

我正在尝试在项目中使用Firestore。我添加了库并剪切并粘贴了FireStore介绍指南中的示例代码。但是我得到了一个EXC_BAD_ACCESS并且无法找出原因。这是我正在尝试运行的代码:

    let db = Firestore.firestore()

    var ref: DocumentReference? = nil
    ref = db.collection("users").addDocument(data: [
        "first": "Ada",
        "last": "Lovelace",
        "born": 1815
    ]) { err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            print("Document added with ID: \(ref!.documentID)")
        }
    }

这是错误的屏幕转储:

enter image description here

任何人都知道出了什么问题?

3 个答案:

答案 0 :(得分:2)

这里的问题相同。过去一切都很好,直到上一次iOS SDK更新。如果我将数据写入firestore,它们不会在控制台中显示,有时会在几分钟或一小时后显示。

App每隔几分钟就会崩溃一次:

  

2018-01-09 10:10:17.284630 + 0100 spontRestaurantAppIos [18971:19308343] ***因未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:' FIRESTORE INTERNAL ASSERTION FAILED:只应为具有活动委托的已启动流调用closeWithFinalState。'

我已联系过火车站的支持,这就是我的回复:

  

检查后,这是我们iOS SDK的已知错误。现在我们已经开始关注这一点,我们的工程师目前正在使用它。

     

如有任何更新,请留意我们的发行说明。

所以我想我们只需要等待......有人还有其他建议吗?

另请参阅github中的此问题: https://github.com/firebase/firebase-ios-sdk/issues/596

答案 1 :(得分:0)

在我的情况下,我没有得到4分钟的错误。然后它崩溃了

2018-01-09 21:11:23.584982+1100 Crux[2671:334948] *** Assertion failure in -[FSTWriteStream closeWithFinalState:error:], third_party/firebase/ios/Source/Firestore/Source/Remote/FSTStream.m:348

仍然不知道为什么。

答案 2 :(得分:0)

我刚才发现错误是由于数据库规则不允许访问。我打开了规则,允许公开读写,现在它正在工作。