Если у пользователя включены службы определения местоположения, я назначаю свой RootController в качестве его делегата:
appDelegate.clLocationManager.delegate = self;
где appDelegate - это экземпляр моего делегата приложения, где у меня есть экземпляр служб определения местоположения. clLocationManager является экземпляром CLLocationManager. Если я обнаружу, что пользователь находится за пределами определенного региона, я хочу отключить делегатов службы определения местоположения. Я делаю это:
appDelegate.clLocationManager.delegate = nil;
Но этот метод все еще срабатывает:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
Есть ли другой способ отключить службы определения местоположения или, по крайней мере, не запускать его методы?