我正在尝试使用locationManager
获取我的位置并将其更新到我的网络服务。
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
//some code here
}
这是正常的,但如果我的应用程序进入后台或手机屏幕被锁定,则可能会暂停更新位置。我怎么去这个位置?
答案 0 :(得分:1)
答案 1 :(得分:1)
我建议您设置一个处理程序,例如:
为所需的新近度和准确性配置处理程序。为通知“LocationHandlerDidUpdateLocation”设置监听器。将代码上传到接收该通知时调用的方法中。
如果您不需要细粒度细节,我建议您在后台使用significantLocationChange监控的省电选项。在这种情况下,您不需要在info.plist中添加后台模式,也不会浪费资源。该应用程序将被唤醒,您的方法仅在用户的重大移动时调用。处理程序中有可配置的选项,需要在后台和/或前台进行持续监控,并设置新近度和准确度阈值。
有关如何响应并将数据保存到Web或本地的示例,请参阅LMPinTracker类。有关使用的讨论,请参见主题Invoke get current coordinates every few seconds without NSTimer。
答案 2 :(得分:0)
将此密钥添加到您的应用程序Plist
Required background modes
将其标记为数组,并在其item0
上添加此值
App registers for location updates
该应用程序现在也将在后台获取位置数据。