как найти текущее местоположение каждые 15 минут - PullRequest
2 голосов
/ 26 декабря 2011

Я начал разработку проекта с использованием ios-5, я хочу находить текущее местоположение каждые 15 минут.

это мой код

- (void)applicationDidEnterBackground:(UIApplication *)application {

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSDate *newLocationTimestamp = newLocation.timestamp;
    NSDate *lastLocationUpdateTiemstamp;
    int locationUpdateInterval = 60; //1min

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    if (userDefaults) {
        lastLocationUpdateTiemstamp = [userDefaults objectForKey:@"myevent"];
     if (!([newLocationTimestamp timeIntervalSinceDate:lastLocationUpdateTiemstamp] < locationUpdateInterval)) {
            NSLog(@"New Location: %@", newLocation);

            //[self locationManager:locationManager didUpdateToLocation:newLocation fromLocation:oldLocation];
            [userDefaults setObject:newLocationTimestamp forKey:@"myevent"];
        }
    }
}

Проблема в том, чтоэтот код работает в фоновом режиме, но я получил текущее местоположение (здесь newLocation) через каждые 5 минут, а не через 1 минуту, даже если я установил locationUpdateInterval = 60 секунд

Я попробовал все, но не получил точное решение.Заранее спасибо!

1 Ответ

1 голос
/ 26 декабря 2011

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

Есть несколько связанных с этим вопросов, которые я видел здесь по этому предмету, как этот .

Также обратите внимание на Руководство по программированию Apple для определения местоположения , в частности, раздел «Запуск службы определения местоположения при значительном изменении».

...