Мне нужно обновление ускорителя, когда приложение работает в фоновом режиме/устройство находится в спящем режиме. Некоторые приложения делают это, я не мог заставить его работать. Для этого у меня есть свойство CoreMotion в моем AppDelegate и applicationDidEnterBackground я называюiOS Обновления ускорителя Coremotion в фоновом режиме/sleepmode
-(void) startAccelerationUpdates
{
self.motionManager.deviceMotionUpdateInterval = 0.01;
[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMDeviceMotion *motion, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"acceleration x %f", motion.userAcceleration.x);
NSLog(@"acceleration y %f", motion.userAcceleration.y);
NSLog(@"acceleration z %f", motion.userAcceleration.z);
}
);
}
];
}
В приложении PLIST я поставил режим Необходимые предпосылки для App регистров для обновления местоположения. Когда я помещаю устройство в спящий режим или в фоновом режиме, в журналах не появляются обновления. Когда приложение активно, coremotion запускает loggin. Кто-нибудь получил намек на меня? Спасибо.
Спасибо, но с отправкой в глобальная очередь тоже не работает. – simon
Кроме того, в вашем plist приложения вы использовали 'Обязательные фоновые режимы'-> и в' item 0' выберите 'App registers for location updates'? – Raptor
Да, да. Обновления местоположения работают в фоновом режиме/режиме ожидания. – simon