Core Motion在后台?

时间:2011-02-07 03:03:53

标签: iphone ios core-motion

当应用程序处于后台时,Core Motion框架是否可以正常工作?

4 个答案:

答案 0 :(得分:1)

Core Motion框架允许访问CMPedometer数据的历史数据,因此如果您的应用仅使用此功能,则无需在后台运行。

上周我一直在和CM一起玩,在我的测试中,如果你的应用程序被发送到后台时运行了一个活动查询,查询处理程序会收到大量事件(在应用程序被暂停时发生)回到前台后我不知道会缓存多少事件,而且我在文档中没有看到任何有关此事件的内容。

这种行为似乎已足够。我无法想到Core Motion的一个用例,你需要不断的后台访问,历史CMPedometer数据不够,并且符合App Store指南。

答案 1 :(得分:0)

取决于您对工作的定义...... Core Animation是否需要继续运行,或者您希望视图被冻结?当应用程序在后台运行时,只允许某些进程运行。 (例如通知)。

在大多数情况下,应用程序UI和扩展程序暂停,直到您触发 applicationDidBecomeActive 。一旦它再次启动它应该恢复,但再次不能继续在后台运行。对于运行OpenGL的iOS上的大多数游戏都可以这么说,它会暂停,直到应用再次激活。

答案 2 :(得分:0)

其中一个应用程序 - 用于跟踪步行步骤的动作非常惊人,因为即使您将其设置为背景或被杀死,它也可以指示您走的步骤。因此,当应用程序被杀时,陀螺仪和GPS等传感器的内部机制可以继续进行。

答案 3 :(得分:0)

为了让您的应用在后台运行,您必须将其声明为后台任务。问题是只有少数UIBackgroundModes ......并且运动不是其中之一。

解决方法可能是启用UIBackgroundMode location,即使应用程序在后台,也可以让用户知道他们的位置。然后,您可以将运动逻辑包装在内。然而,明显的缺点是它涉及使用GPS,这将显着耗尽电池......