iOS中的32位UUID服务的后台扫描

时间:2015-02-17 15:46:07

标签: ios core-bluetooth

我正在尝试在后台扫描具有32位UUID的服务。

相同的代码与前台和后台的128位UUID一样正常工作。

只有在应用程序位于前台时,才能扫描32位UUID。

是否有限制表明UUID必须是128位?

1 个答案:

答案 0 :(得分:2)

蓝牙4.1中引入了对LE模式下32位UUID的支持(参见修订历史BLUETOOTH SPECIFICATION Version 4.1 [Vol 0])。至于Apple:他们从未宣布更新CoreBluetooth以支持它(例如CBUUID文档提到蓝牙4.0规范)。简而言之:是的,它们必须是16位或128位才能确定。

至于原因:根据我的经验,iOS在后台扫描时非常挑剔。即他们有时只进行被动扫描。因此,根据您的BLE外设如何将广告数据拆分为ADV_IND和SCAN_RSP数据包,您可能会看到32位UUID。我建议你用BLE嗅探器查看广告数据(以及它如何分成数据包)。