Firestore - iOS反应本机应用程序在离线模式下工作



我构建的应用程序在离线模式下执行一些 Firestore 查询和更新,即使连接可用。我已经跑firebase.firestore().settings({persistence: false})

将模拟器重置为出厂设置时,在第一次运行时,它会在联机模式下运行查询,但随后会快速回退到脱机状态。

是否有可能由于某些写入失败而自动降级为离线模式,而没有恢复选项?有没有办法检查Firestore当前是在线还是离线?有没有办法强制查询与服务器同步?

使用 RNfirebase 4.0.6、Xcode 9.3、iOS 11.3、react-native 0.54。 也发生在iOS 10.3上

经过大约 20 个小时的尝试解决此问题,我找到了原因。

当调用firebase.firestore().collection('someCollection').doc('docId').set(...)时,当docId指向不存在的DocumentReference时,RNfirebase 内部会关闭传出的写入队列。可以读取,但不能写入。

要解决此问题,我所要做的就是更改:

firebase.firestore().collection('someCollection').doc('docId').set(someObject)

firebase.firestore().collection('someCollection').doc('docId').update(someObject, { merge: true })

最新更新