确定 iOS 定位服务的更新模式



我正在构建一个小的原型应用程序来测试定位服务。我的应用程序同时使用 -startUpdatingLocation 和 -startMonitoringSignificant LocationChanges(用于后台处理)。

在这两种情况下,我都尝试使用我获得的位置数据将 json 对象发送到服务器,但我希望还能够发送某种标识符,以便我可以确定使用哪种模式的位置服务来获取数据(GPS、wifi、塔或至少是否通过上述两种服务之一。

我正在应用程序代表中设置我的CLLocationManager,如果这有什么不同的话。

谢谢

未提供CLLocationManager使用的源。但是,您可以通过设置 desiredAccuracy 属性来确定是否允许关闭 GPS。如文档所述,1 公里的精度可能会关闭 GPS。

例如,将位置事件的所需精度设置为一公里,使位置管理员能够灵活地关闭 GPS 硬件并仅依赖 WiFi 或蜂窝无线电。关闭 GPS 硬件可以显著节省电量。

您无法完全控制 GPS,因为其他应用程序可能会在后台要求更高的精度。

您可以通过检查CLLocation对象来大致猜测用于确定位置的内容。每个CLLocation对象都有一个名为 horizontalAccuracy 的属性。此值以米为单位。如果它小于1公里,那么可能使用了GPS。

最新更新