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)")
}
}
这是错误的屏幕转储:
任何人都知道出了什么问题?
答案 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)
我刚才发现错误是由于数据库规则不允许访问。我打开了规则,允许公开读写,现在它正在工作。