我希望在iOS上创建一个BLE广告,我可以在字节级别控制广告。
一个用例是模仿iBeacon广告。 What is the iBeacon Bluetooth Profile(我想在我的应用处于后台时做广告,这就是我没有使用CoreLocation的原因)
我没有看到使用Core Bluetooth API执行此操作的方法。它是否正确?是否有使用私有API或越狱的替代方案?
答案 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
如果您要分享您的用例以及您想要实现的目标,可能还有其他方法可以实现它。