我正在做一些关于在应用程序处于后台时读取加速度计数据的研究,我发现这个问题没有纯粹的解决方案。您可以使用来自其他 api 的一些回调,例如播放音频、录制音频、接收位置更新……等等。但是我发现了一件有趣的事情。
当我启动下面的功能并点击主页按钮时,应用程序会进入后台,但“正在运行”消息会不断将自身写入日志。
- (void)updateAccelerometer {
while (YES) {
NSLog(@"running");
}
}
另一个有趣的事情是我关闭了背景模式。
我的问题是……我可以在应用程序处于后台时使用这种无限循环方法来读取 CMMotionManager 的加速度计数据吗?它看起来像一个解决方案。有人用过吗?有人知道在后台读取 CMMotionManager 数据的其他方法吗?
任何想法链接都可能会有所帮助。如果您有想法,请与我分享。谢谢你的时间。