2016-02-07 10 views
-2

У меня есть приложение, которое проверяет плотность iPhone в секунду в фоновом режиме. Когда я запускаю этот код при подключении к Xcode, программа работает более 30 минут в фоновом режиме. Однако, когда он не подключен к Xcode, он перестает работать до 10 минут в фоновом режиме. Я использую обновление местоположения и обновление видеокадров:Отслеживание движений устройства iOS в фоновом режиме более 10 минут

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

    bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ 
     bgTask = UIBackgroundTaskInvalid; 
     NSLog(@"End Background Tasks"); 
    }]; 

    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate = self; 
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) { 
     [locationManager requestAlwaysAuthorization]; 
    } 
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9) { 
     locationManager.allowsBackgroundLocationUpdates = YES; 
    } 
    [locationManager startUpdatingLocation]; 

    [self.motionManager startDeviceMotionUpdates]; 
} 
+0

См. Мой ответ здесь: http://stackoverflow.com/a/19891765/341994 – matt

ответ

0

Убедитесь, что цель имеет режимы Фоновые включен при возможности, и убедитесь, что режим обновления Места установлен.

+0

Я сделал это, и оба установлены. – Maanit