当应用程序处于后台时,我正在做一些关于读取加速度计数据的研究,我发现这个问题没有纯粹的解决方案。您可以使用其他api的回调,如播放音频、录制音频、接收位置更新.等等,但是我发现了一件有趣的事情。
当我启动下面的功能,我点击主页按钮,应用程序转到后台,但“运行”消息不断写自己的日志。
- (void)updateAccelerometer {
while (YES) {
NSLog(@"running");
}
}另一件有趣的事情是,我转向了背景模式。
我的问题是..。当应用程序处于后台时,我可以使用这种无限循环的方法读取CMMotionManager的加速度计数据吗?看上去是个解决方案。有人用过吗?有人知道在后台读取CMMotionManager数据的其他方法吗?
任何一种想法联系都可能会有帮助。如果你有什么想法,请和我分享。耽误您时间,实在对不起。
发布于 2013-12-28 20:59:03
这不能超过所有应用程序在后台完成工作的默认时间。如果你在一个设备上尝试它,你会发现它大概在60秒后就会停止。不仅如此,对处理器来说,做这种循环是很可怕的,并且会大大减慢机器的速度,特别是在主线程上。曾经有一些应用被销售为手暖器,如果你明白我的意思的话,它就能做到这一点。
https://stackoverflow.com/questions/20819242
复制相似问题