我正在做一些有关读取加速度计数据的研究,而应用程序处于后台,我发现没有纯粹的解决方案来解决这个问题。您可以使用其他api的回调,如播放音频,录制音频,接收位置更新......等等。但我发现了一件有趣的事情。
当我启动下面的功能并点击主页按钮时,应用程序会转到后台,但“正在运行”的消息会自动写入日志。
- (void)updateAccelerometer {
while (YES) {
NSLog(@"running");
}
}
另一件有趣的事情是我转向背景模式。
我的问题是......当应用程序处于后台时,我可以使用这种无限循环方法来读取CMMotionManager的加速度计数据吗?它看起来像一个解决方案。 有人用它吗? 有人知道在后台读取CMMotionManager数据的其他方法吗?
任何类型的想法链接都可能有所帮助。如果您有想法,请与我分享。谢谢你的时间。
答案 0 :(得分:0)
这将超过为所有应用在后台完成工作所提供的默认时间。如果您在设备上试用它,您会发现它可能在大约60秒后停止。不仅如此,处理器执行这种循环并且会大大减慢机器速度是非常糟糕的,特别是如果在主线程上。如果得到我的意思,曾经有一些应用程序作为暖手器销售,这样就可以做到这一点。