IOS:我可以在后台定期扫描动态变化的BLE广告记录吗?

时间:2014-08-08 01:59:54

标签: ios bluetooth-lowenergy

这是我的情景..

我有一个按照BLE协议通告动态数据的设备。有多个这样的设备为用户操作

问题 -

1)IOS可以扫描这些不断变化的广告数据,还是期望广告包非常静态?

2)我们可以创建一个定期扫描此类数据包的服务 - 可能每5分钟扫描一次吗?

3)在没有用户干预的情况下,可以在启动期间自动重启这样的服务吗?

2 个答案:

答案 0 :(得分:0)

您无法在普通(非越狱)手机上创建服务。甚至不可能分发这样的东西(阅读app review guidelines)。当然,您可以在任何您想要的时间间隔内扫描BLE数据,但您的应用程序需要处于活动状态,或者需要执行Apple批准的操作才能在后台连接BLE设备。请注意,与任何其他后台应用程序一样,iOS可能会随时暂停或终止您的应用程序,并且您无能为力。

答案 1 :(得分:0)

标准BLE背景模式涵盖了您所描述的内容 - 核心蓝牙编程指南中对此进行了介绍。

您可以设置特定服务UUID的扫描,这将在后台继续。发现设备后,您的应用将启动到后台。

通知的确切安排无法控制 - 但根据我的经验,只要发现新的外围设备,您就会收到通知。一旦您发现了设备,您甚至可以在断开连接后立即启动连接(即超出范围) - 当设备重新进入范围时,iOS将自动重新连接到设备

为了使扫描或挂起的连接在重新启动后仍然存在,您必须配置状态恢复。 “核心蓝牙编程指南”中也对此进行了介绍。