2015-11-09 4 views
1

Когда я использую мониторинг геоданных в iOS, мои делегаты входа и выхода никогда не запускаются, если я не установил статус авторизации locationmanager всегда.Мониторинг области ios должен быть установлен всегда

Даже когда приложение находится на переднем плане, события не встречаются.

Как только я переключаюсь на Always, эй, все это работает.

Ive установить мой менеджер местоположения следующим образом

self.sharedLocationManager = [sbLocationManagerHelper sharedLocationManagerHelper]; 
self.sharedLocationManager.locationManager = [[CLLocationManager alloc]init]; 
self.sharedLocationManager.locationManager.delegate = self; 
self.sharedLocationManager.locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
self.sharedLocationManager.locationManager.distanceFilter = 10; 
self.sharedLocationManager.locationManager.activityType = CLActivityTypeOther; 

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined 
    || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse) 
{ 
    [self.sharedLocationManager.locationManager requestAlwaysAuthorization]; 
} [self.sharedLocationManager.locationManager stopMonitoringSignificantLocationChanges]; 

Есть ли способ, чтобы сделать эту работу, где местоположение значок disapears, когда приложение в фоновом режиме, но мониторинг региона по-прежнему имеет место, или даже показывает мониторинг региона значок вместо этого?

Я использую SDK 9 и ориентируюсь ИОС 8 +

ответ

0

Я обнаружил, что вы должны использовать requestAlwaysAuthorization для Geofencing работать.

Однако, когда приложение находится в фоновом режиме или не работает, вы должны увидеть значок геозонности (обозначенный значок службы местоположения), а не значок полного фиолетового местоположения.

Вы вызываете startUpdatingLocation или startUpdatingHeading в своем коде? Если это так, вы увидите значок полного местоположения, так как приложение отслеживает местоположение пользователей. Если вам не нужно их конкретное местоположение, обязательно вызовите stopUpdatingLocation или stopUpdatingHeading.

+0

Спасибо, я нахожу startUpdatingLocation, поскольку он использует текущее местоположение, чтобы выяснить, какие гео-ограждения он нуждается в настройке. Спасибо за ваш ответ. –

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