Как отключить услуги определения местоположения? - PullRequest
3 голосов
/ 31 мая 2010

Если у пользователя включены службы определения местоположения, я назначаю свой RootController в качестве его делегата:

appDelegate.clLocationManager.delegate = self;

где appDelegate - это экземпляр моего делегата приложения, где у меня есть экземпляр служб определения местоположения. clLocationManager является экземпляром CLLocationManager. Если я обнаружу, что пользователь находится за пределами определенного региона, я хочу отключить делегатов службы определения местоположения. Я делаю это:

appDelegate.clLocationManager.delegate = nil;

Но этот метод все еще срабатывает:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

Есть ли другой способ отключить службы определения местоположения или, по крайней мере, не запускать его методы?

1 Ответ

2 голосов
/ 31 мая 2010

Да, вы должны сказать ему, чтобы остановить обновление местоположения:

[appDelegate.clLocationManager stopUpdatingLocation];

После этого вы также можете отпустить его.

Подробнее см. в документации .

...