在某些情况下,CLLocation 的 horizo​​ntalAccuracy 值是否无穷大?

问题描述

我目前正在处理客户报告的崩溃问题。从崩溃日志看来,我们的应用程序正试图以 JSON 格式将位置数据发送到后端,它抛出 Invalid number value (infinite) in JSON write 因为 JSON 不支持无穷大值。

应用使用 Moya 库发送数据,这里是发送的位置数据(其中位置变量是 iOS 位置更新返回的 CLLocation 类型):

var dict =  ["latitude": location.coordinate.latitude,"longitude": location.coordinate.longitude,"speed": location.speed >= 0 ? location.speed : 0,"altitude": location.altitude,"horizontal_accuracy_estimate": location.horizontalAccuracy,"vertical_accuracy_estimate": location.verticalAccuracy] as [String: Any]

所以我猜这里的参数之一的值为 Double.infinity

但是,在检查 Apple 文档时,它没有指定甚至提到无穷大是可能的值之一,所以我很困惑。

当位置确实不准确时,我猜测 horizontalAccuracy 可能是 Double.infinity?但在那种情况下,根本不退货不是更好吗?因为在我们的应用中我们设置了:

desiredAccuracy = kCLLocationAccuracyBestForNavigation

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)