我想获取iOS应用的当前地理位置,并查看方法locationManager:didUpdateLocations:的CLLocationManagerDelegate文档。在讨论部分,它提到If updates were deferred or if multiple locations arrived before they could be delivered, the array may contain additional entries.
我不太明白在什么情况下延迟更新以及我可能期望从其他条目获得的其他位置数据。
我检查的示例代码仍在使用不推荐使用的方法locationManager:didUpdateToLocation:fromLocation:。
有人可以详细说明吗?
答案 0 :(得分:1)
当应用程序在后台运行时,您可以推迟位置更新以延长电池寿命:
在iOS 6及更高版本中,您可以在应用在后台时推迟发送位置数据。建议您在应用程序可以稍后处理数据而没有任何问题的情况下使用此功能。例如,跟踪用户在远足径上的位置的应用程序可以推迟更新,直到用户徒步一定距离然后一次处理所有点。延迟更新有助于您的应用在较长时间内保持睡眠状态,从而节省电量。
在这种情况下,数组将包含多个位置,而不是只接收一个CLLocation
的数组。