2014-12-01 2 views
0

Я хочу, чтобы в кулак 30 минут мое приложение, используя мой GPS в фоновом режиме, поэтому я сделать следующее:Отменить запрос [locationManager requestAlwaysAuthorization]

CLLocationManager *locationManager = nil; 
      locationManager = [[CLLocationManager alloc] init]; 
      locationManager.distanceFilter = kCLLocationAccuracyBest; 
      locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
      locationManager.pausesLocationUpdatesAutomatically = NO; 
      // Do any additional setup after loading the view from its nib. 
      [locationManager requestAlwaysAuthorization]; 

Через 30 минут я хочу, чтобы мое приложение будет работать только на переднем плане ...

Как я могу удалить поток, который использует мой gps в фоновом режиме?

Как я понял, мне нужно добавить [locationManager stopUpdatingLocation] и [locationManager requestWhenInUseAuthorization]; он работает, но в настройках приложения в режиме конфиденциальности -> услуги определения местоположения->, тогда есть 3 варианта: 1) никогда 2) При использовании приложения 3) Всегда и даже приложение не работает в фоновом режиме, тогда выбирается третий параметр 3) Всегда хочу, чтобы параметр изменился на «При использовании приложения»

ответ

0

Процесс авторизации отдельно от фактического запроса обновлений местоположения доставляется на ваш CLLocationManagerDelegate.

Как только вы получили разрешение на использование местоположения (всегда или когда используете), вы можете использовать [locationManager startUpdatingLocation] и [locationManager stopUpdatingLocation], чтобы контролировать, будут ли обновления местоположения передаваться вашему делегату.

Итак, короткий ответ - это вызов [locationManager stopUpdatingLocation] через 30 минут.

+0

Да, это работает, но в настройках приложения в режиме конфиденциальности -> службы определения местоположения-> тогда есть 3 варианта: 1) никогда 2) При использовании приложения 3) Всегда и даже приложение не работает в фоновом режиме (после i добавьте [locationManager stopUpdatingLocation] и [requestManager requestWhenInUseAuthorization], затем третий вариант выбран 3) Всегда хочу, чтобы параметр изменился на «При использовании приложения» ... –

+0

Вы не можете запросить более низкий уровень авторизации один раз разрешение предоставляется. Как только вы получили «всегда» авторизацию, это то, что у вас есть. Ваше приложение может не всегда использовать местоположение, но оно имеет право сделать это. – Paulw11

Смежные вопросы