我有一个带有位置管理器的应用程序,它与 startUpdatingLocation 一起运行。但是,如果它没有移动,那么我停止更新位置,将当前位置标记为一个区域并像这样 startMonitoringForRegion:
[locationManager stopUpdatingLocation];
CLRegion* region = [[CLRegion alloc] initCircularRegionWithCenter:self.currentLocation.coordinate radius:25 identifier:@"last_loc"];
[self.locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[region release];
当应用程序完全关闭并退出该区域时,将调用 locationManager:didExitRegion 并继续我的快乐方式,如下所示:
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
[self.locationManager stopMonitoringForRegion:region];
[locationManager startUpdatingLocation];
}
但是,如果应用程序正在运行,无论是在后台还是前台,应用程序都不会响应 locationManager:didExitRegion。我错过了什么?