Ios 在后台获取CMAccelerometer数据

Ios 在后台获取CMAccelerometer数据,ios,objective-c,cmmotionmanager,Ios,Objective C,Cmmotionmanager,目前,我可以使用CMAccelerMeter从加速计获得更新 _motionManager.accelerometerUpdateInterval = kUpdateInterval; [_motionManager startAccelerometerUpdatesToQueue:self.queue withHandler: ^(CMAccelerometerData *accelerometerData, NSError *error) { [(id) self setAcc

目前,我可以使用CMAccelerMeter从加速计获得更新

_motionManager.accelerometerUpdateInterval = kUpdateInterval;

[_motionManager startAccelerometerUpdatesToQueue:self.queue withHandler:
 ^(CMAccelerometerData *accelerometerData, NSError *error) {
     [(id) self setAcceleration:accelerometerData.acceleration];
     [self performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:NO];
 }];

- (void)update {

... code to handle data ...

}

这很好,但是当我关闭我的应用程序,即将其放在后台而不是杀死实例时,我不再从我的_motionManager接收更新。如何处理此问题?

您可以注册应用程序以收听位置,并使用CoreMotion。然后你可以在后台得到加速计数据

基本上,由于其他原因,您的应用程序需要允许在后台运行

例如:


我添加了一个如何操作的屏幕截图。我选中了上面屏幕截图中的框,但是当我退出应用程序时,我仍然没有收到任何CMMotion更新。知道为什么吗?谢谢你的帮助,我真的很感激。