iOS上的自定义BLE广告

时间:2016-09-29 13:44:29

标签: ios bluetooth bluetooth-lowenergy core-bluetooth

我希望在iOS上创建一个BLE广告,我可以在字节级别控制广告。

一个用例是模仿iBeacon广告。 What is the iBeacon Bluetooth Profile(我想在我的应用处于后台时做广告,这就是我没有使用CoreLocation的原因)

我没有看到使用Core Bluetooth API执行此操作的方法。它是否正确?是否有使用私有API或越狱的替代方案?

3 个答案:

答案 0 :(得分:1)

  

我没有看到使用Core Bluetooth API执行此操作的方法。这是   正确的吗?

由于您必须设置制造专用数据才能实现此目的,如果没有任何更改,您将遇到与我完全相同的问题。在这里解释:

The advertisement key 'Manufacturer Data' is not allowed in CoreBluetooth

这是不可能的。

答案 1 :(得分:1)

我对iOS的体验是,如果它没有在API中公开,除了越狱之外没有办法解决。对于低功耗蓝牙,API处于GAP / GATT级别,而较低级别(如果有的话)则暴露的很少。广告是LL(链接层)功能。

说明访问受限制的限制:扫描BLE设备时,您将无法访问广告客户的MAC地址iOS。在Android中,你拥有它。

答案 2 :(得分:1)

正如其他人已经指出的那样,iOS上没有允许您执行此操作的API。

您可以将广告宣传为iBeacon,但仅限于您的应用位于前台。在后台时,广告被删除,因此无法再被发现(除了明确扫描该服务UUID的其他iOS设备)。另请参阅此处的文档:Core Bluetooth Background Processing

如果您要分享您的用例以及您想要实现的目标,可能还有其他方法可以实现它。