У меня есть приложение с менеджером местоположений, которое запускается с помощью 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. Чего мне не хватает?