【发布时间】:2011-06-23 17:44:44
【问题描述】:
有什么方法可以确保在使用 CoreLocation 时不使用 GPS?我想包含一个“电池保存”设置,该设置选择不使用 GPS 来跟踪手机的位置。
假设这是可能的,如果我只使用 Wifi,电池使用量实际上会显着减少吗?
感谢您的宝贵时间! :)
【问题讨论】:
标签: iphone gps wifi core-location
有什么方法可以确保在使用 CoreLocation 时不使用 GPS?我想包含一个“电池保存”设置,该设置选择不使用 GPS 来跟踪手机的位置。
假设这是可能的,如果我只使用 Wifi,电池使用量实际上会显着减少吗?
感谢您的宝贵时间! :)
【问题讨论】:
标签: iphone gps wifi core-location
不直接,不。但是,您可以设置核心位置管理器的 desiredAccuracy 属性来间接执行此操作(精度越低,系统对 GPS 的依赖越少,可能完全依赖 WiFi)。
Apple 文档还暗示设置较低的精度将节省电量:
您应该为此属性分配一个适合您的使用场景的值。换句话说,如果您只需要几公里范围内的当前位置,则不应为精度指定 kCLLocationAccuracyBest。更准确地确定位置需要更多时间和更多精力。
因此,您可以有一个使用kCLLocationAccuracyBest 的模式,以及一个使用kCLLocationAccuracyKilometer 的“低功耗”模式。
【讨论】:
kCLLocationAccuracyThreeKilometers 设备关闭了 GPS。实现此目的的另一种方法是使用显着变化模式而不是 GPS。一旦达到 3 公里范围,这非常接近等效值。