Я использую NavigationController для отображения списка геозон, доступных пользователю.Вверху есть глобальный переключатель вкл / выкл, который я хотел бы использовать, чтобы отключить любые заборы, зарегистрированные в CoreLocation -startMonitoringForRegion.
Кажется, что мои заборы регистрируются нормально и работают по большей части, но неважноСколько раз я отключаю заборы по отдельности, я все еще получаю фиолетовую стрелку, указывающую на то, что система все еще отслеживает мое местоположение и / или заборы.
Когда я отключаю заборы по отдельности, это то, как яЯ делаю это.
CLLocationCoordinate2D coord;
coord.latitude = [[settingsData valueForKey:@"latitude"] doubleValue];
coord.longitude = [[settingsData valueForKey:@"longitude"] doubleValue];
CLLocationDistance radius = [[settingsData valueForKey:@"radius"] intValue];
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:coord radius:radius identifier:[settingsData valueForKey:@"name"]];
// remove this fence from system monitoring
[locationManager stopMonitoringForRegion:region];
[region release];
Я просмотрел всю документацию Apple по CoreLocation и использованию этих методов, и я нахожусь в конце своей веревки.
Я пытался позвонить [locationManager monitoredRegions];
, но он возвращает только активный забор и только тогда, когда у меня загружен мой подробный вид.Я не могу назвать это каким-либо другим местом в моей программе и заставить его вернуть любой из моих заборов, хотя я знаю, что они должны быть активными.Если у кого-нибудь есть совет, куда идти дальше, я весь в ушах.