2017-09-26 133 views
0

我有一个应用程序使用加速度计。当检测到某个动作时,我试图让我的iPhone振动。当应用程序在前台,而我进行某种动作时,它会振动。但是,当应用程序在后台时不会。ios应用程序,当应用程序在后台运行加速度计

我有一个检测这个动作的计数器。当我在后台执行这个动作三次时,虽然它没有发出任何振动,但在我转换回前景后,计数器增加了三个。所以我知道加速度计正在工作。或者将这些动作放入队列中,并在应用程序回到前台时执行它。

而且我并没有通过触摸手机的振动来解决菜鸟的错误。

我很不确定该从哪里出发。 iphone本身不具备在后台捕获和处理加速计数据的能力吗?还是有什么我不正确的做法?

回答

1

在iOS中,背景中只允许某种类型的活动。在这里你可以检查他们:Background Modes

我目前正在使用类似于加速度计的传感器工作,我使用CoreLocation委托方法didUpdateLocation从它获取更新,因为使用GPS定位设备是Apple允许的背景模式之一。我希望这可以帮助你!

+0

感谢您的回答。由于这个问题来自不久前,我已经实施了你刚才建议的路径。但是,那么让我问你一个问题。当您的应用使用GPS作为背景模式时,该应用在顶部显示一个蓝色条。如果你的应用需要gps,那么确定。但是,如果它没有,那么你不认为要求gps许可似乎侵入?我的应用程序做到了。它感觉侵入性。所以我只是好奇你的想法是什么。谢谢。 – shle2821

+0

我的应用需要GPS。我同意你的观点,如果你不需要GPS,它会感觉到侵入性。 –