背景中的操作

时间:2013-12-28 20:50:50

标签: ios background-process infinite-loop cmmotionmanager

我正在做一些有关读取加速度计数据的研究,而应用程序处于后台,我发现没有纯粹的解决方案来解决这个问题。您可以使用其他api的回调,如播放音频,录制音频,接收位置更新......等等。但我发现了一件有趣的事情。

当我启动下面的功能并点击主页按钮时,应用程序会转到后台,但“正在运行”的消息会自动写入日志。

- (void)updateAccelerometer {
    while (YES) {
        NSLog(@"running");
    }
}

另一件有趣的事情是我转向背景模式。

我的问题是......当应用程序处于后台时,我可以使用这种无限循环方法来读取CMMotionManager的加速度计数据吗?它看起来像一个解决方案。 有人用它吗? 有人知道在后台读取CMMotionManager数据的其他方法吗?

任何类型的想法链接都可能有所帮助。如果您有想法,请与我分享。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

这将超过为所有应用在后台完成工作所提供的默认时间。如果您在设备上试用它,您会发现它可能在大约60秒后停止。不仅如此,处理器执行这种循环并且会大大减慢机器速度是非常糟糕的,特别是如果在主线程上。如果得到我的意思,曾经有一些应用程序作为暖手器销售,这样就可以做到这一点。