【问题标题】:SWIFT - How to detect Firestore connection errors / offline connectionSWIFT - 如何检测 Firestore 连接错误/离线连接
【发布时间】:2021-07-01 07:33:35
【问题描述】:
当用户将互联网连接设置为离线时,我在 Xcode 控制台中收到以下错误消息:
7.8.0 - [Firebase/Firestore][I-FST000001] WriteStream (11ed16098) 流错误:“不可用:DNS 解析失败”
但是如何以编程方式检测连接状态?我在 Firestore 文档中没有找到有关该主题的任何文档?
【问题讨论】:
标签:
swift
google-cloud-firestore
connection
【解决方案2】:
Firestore 不会生成网络连接错误,因为 Firestore 支持离线功能,因此它会在连接返回时重试写入(部分写入,而非全部写入)。因此,您必须独立于 Firestore 确定网络可用性。
但是,如果您想要一种更传统的方法来完成此任务,即在没有连接时失败并且在连接返回时不会自动重试的方法,您可以在 Firestore 事务中执行它,因为这些方法没有在本地缓存。但是,事务确实带有自动重试,但不是出于连接原因。当事务中涉及的文档在事务完成之前(被其他客户端)修改时,事务可以自动重试,以保证它们是原子的。