我的iOS应用中的代码使用MKMapView
在用户移动时运行某些代码:
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
// The code I want to run
}
我想知道即使应用程序在后台也能继续更新,或者如果没有,如何在CLLocationManager
中复制此代码。
修改: 我需要这段代码来获取用户在后台的位置
答案 0 :(得分:2)
我想知道即使应用程序在后台也能继续更新,或者如果没有,如何在CLLocationManager中复制此代码。
如果屏幕上没有显示视图,则更新地图视图毫无意义。
如果您想要在地图视图不可见时执行某些操作,则 应使用Core Location。您需要做的就是创建CLLocationManager
的实例,给它一个委托,并告诉它开始更新。您的位置管理员代表可以实施-locationManager:didUpdateLocations:
以获取位置更新,您可以使用更新的信息执行任何操作。
请注意,当应用在后台时,您不应该不必要地使用位置。在Getting Location Updates in the Background中了解有关在后台获取更新的详情。