Серая стрелка GPS отображается в строке состояния, хотя CLLocationManager остановлен

Я пишу приложение на основе местоположения для iPhone. Приложение работает в фоновом режиме, поэтому я регистрирую его для фоновых обновлений. Когда приложение переходит в фоновый режим, я звоню:

    - (void) enteredBackground: (NSNotification*) notification {
    [self.locationManager stopUpdatingLocation];
    NSLog(@"LocationManager => stopUpdatingLocation called"); 

    [self.locationManager startMonitoringSignificantLocationChanges];
    NSLog(@"LocationManager => startMonitoringSignificantLocationChanges called"); 
}

В AppDelegate я звоню:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSLog(@"applicationDidEnterBackground");
    [[NSNotificationCenter defaultCenter] postNotificationName: @"didEnterBackground" object: nil  userInfo: nil];

    UIApplication *app = [UIApplication sharedApplication];

    if ([app respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]) {

          bgTask = [app beginBackgroundTaskWithExpirationHandler:^{

            dispatch_async(dispatch_get_main_queue(), ^{
                if (bgTask != UIBackgroundTaskInvalid)
                {
                    [app endBackgroundTask:bgTask];
                    bgTask = UIBackgroundTaskInvalid;
                }
            });
        }];
    }
}

Когда приложение FastAppSwitcher уничтожает приложение, запускается уведомление и вызывается следующий метод:

-(void) exitApplicationFromBackground:(NSNotification *)notification{
    NSLog(@"exitApplicationFromBackground called");
    [self.locationManager stopMonitoringSignificantLocationChanges];
    NSLog(@"LocationManager => stopMonitoringSignificantLocationChanges called");     
    NSLog(@"LocationManager stopped, Application will terminate...");
    exit(0);
}

Я проверял это много раз. Каждый раз все NSLog записываются на консоль или при тестировании на iPhone в лог-файл. Но не каждый раз, когда серая стрелка местоположения исчезает из строки состояния, особенно при запуске приложения на iPhone.

Как это может быть? Спасибо за ваши ответы!

0 ответов

Другие вопросы по тегам