5
當應用程序在後臺運行時/設備處於睡眠模式時,我需要加速器更新。有些應用程序這樣做,我無法使其工作。 爲此,我有一個CoreMotion財產在我的appdelegate和applicationDidEnterBackground我打電話iOS Coremotion加速器在後臺/睡眠模式下更新
-(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我把所需的背景模式,應用程序註冊了位置更新。當我將設備置於睡眠模式或後臺時,日誌中不會顯示更新。當應用程序獲得活動coremotion開始登錄時。任何人都有對我的暗示?謝謝。
謝謝你,但與派遣全局隊列也不起作用。 – simon
此外,在您的應用程序的plist中,是否使用'必需的背景模式' - >並在'項目0'選擇了「應用程序寄存器以更新位置」? – Raptor
是的,我做到了。位置更新正在後臺/睡眠模式下工作。 – simon