应用在后台时更新MKMapView

时间:2013-08-26 18:13:04

标签: ios background mkmapview cllocationmanager

我的iOS应用中的代码使用MKMapView在用户移动时运行某些代码:

- (void)mapView:(MKMapView *)mapView
            didUpdateUserLocation:(MKUserLocation *)userLocation
{
    // The code I want to run
}

我想知道即使应用程序在后台也能继续更新,或者如果没有,如何在CLLocationManager中复制此代码。

修改: 我需要这段代码来获取用户在后台的位置

1 个答案:

答案 0 :(得分:2)

  

我想知道即使应用程序在后台也能继续更新,或者如果没有,如何在CLLocationManager中复制此代码。

如果屏幕上没有显示视图,则更新地图视图毫无意义。

如果您想要在地图视图不可见时执行某些操作,则 应使用Core Location。您需要做的就是创建CLLocationManager的实例,给它一个委托,并告诉它开始更新。您的位置管理员代表可以实施-locationManager:didUpdateLocations:以获取位置更新,您可以使用更新的信息执行任何操作。

请注意,当应用在后台时,您不应该不必要地使用位置。在Getting Location Updates in the Background中了解有关在后台获取更新的详情。