Мониторинг региона iOS в фоновом режиме - PullRequest
11 голосов
/ 21 июня 2011

Я использую Region Monitoring в своем приложении, и у меня возник вопрос, на который я не смог найти никакого ответа.Как мониторинг региона работает в фоновом режиме?

В соответствии с информацией о местоположении PG:

Каждый раз, когда текущее местоположение пользователя пересекает граничную область, система генерирует соответствующее событие региона дляприложение.Если ваше приложение уже запущено, эти события передаются непосредственно делегатам любых текущих объектов диспетчера местоположения.Если ваше приложение не запущено, система запускает его в фоновом режиме, чтобы оно могло ответить.

Теперь этот вопрос: мое приложение находится в режиме приостановки, введен регион итриггер должен быть доставлен, будет ли это событие отправлено "напрямую" делегату:

locationManager:didEnterRegion:

??Тот же вопрос, если приложение находится в фоновом режиме.Другими словами, есть ли какой-нибудь код, который я должен рассмотреть в режиме ожидания и в фоновом режиме, чтобы получить это событие?или iOS сначала запустит приложение, а затем отправит событие делегату напрямую без необходимости кодирования BG?

Ответы [ 3 ]

1 голос
/ 17 апреля 2014

Мониторинг региона Перезапускает ваше приложение, когда вы входите в отслеживаемый регион, если вы находитесь в фоновом режиме.

однако вам необходимо снова настроить диспетчер местоположений после перезапуска приложения.

что-то вроде этого -

if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey] ) 
     {

        NSLog(@"Relaunched due to location update");

        NSLog(@"app woke up times ---- %d",ForTest);

        NSLog(@"Starting the location manager");
        self.locmanager = [[CLLocationManager alloc] init];
        [self.locmanager startMonitoringForRegion:(CLRegion)*region];
       // self.locmanager.pausesLocationUpdatesAutomatically = YES ;
    }
0 голосов
/ 18 мая 2015

enter image description here

включить фоновые режимы, которые включают обновления местоположения и выборку фона

0 голосов
/ 22 июня 2011

Насколько я знаю, мониторинг региона работает только с iPhone4 и основан на изменении устройства связи.Таким образом, он использует гораздо меньше батареи, чем стандартное фоновое обновление местоположения.Убедитесь, что вы включили соответствующие фоновые режимы.Пока вы реализуете этот делегат, вы должны быть готовы к работе.

...