当应用在后台时,是否可以获取陀螺仪数据更新



我的应用使用蓝牙附件,因此我打开相应的背景模式。是否可以在后台连续接收陀螺仪数据?

当应用在后台时,情况是扫描和连接BLE外围设备。并检测到应用程序在后台时的电话旋转,并在检测到某些运动时将某些东西发送到BLE设备。

陀螺仪数据更新正在使用我创建的nsoperationqueue。它在加载第一个视图后立即开始。

当我在前景中使用应用程序对其进行测试时,将外围连接起来,然后放入后台。陀螺仪数据更新很快停止。当我走出BLE范围时,陀螺仪数据再次开始,然后很快停止。我走进了BLE外围范围内,陀螺仪数据再次显示。(我正在用iPhone挂在笔记本电脑上,并直接从日志中看到它)。

即使应用程序在后台,有没有一种方法可以可靠地获取陀螺仪数据?

有一个查看这个问题。

,如果没有其他背景活动,例如背景音频或GPS跟踪,似乎您无法从Coremotion获得数据。根据我的经验,这两种模式都可以在后台执行代码。

编辑:
使用BLE,请确保不时通过蓝牙发送数据,以防止iOS暂停您的应用程序。

确认并添加到接受的答案(搜索iOS的背景运动更新引导我在这里)。是的,其他一些背景活动还需要运行以进行coremotion更新才能工作。我已经创建了一个简单的iOS应用程序,其中包括我需要的样板,以探索背景下旋转和屈服更新。AppDelegateViewController在某种程度上进行了记录。在运行iOS 14.2的XS最大值上测试。希望自言自语,对其他人开始研究同一领域有用。

最新更新