在iOS上自定义BLE广告

10

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

一个使用案例是模拟iBeacon广告。什么是iBeacon蓝牙配置文件(我想在我的应用程序在后台运行时进行广告发布,这就是为什么我不使用CoreLocation)

我没有看到使用Core Bluetooth API完成此操作的方法。这是正确的吗?是否有使用私有API或越狱的替代方法?

3个回答

2
正如其他人指出的那样,iOS上没有API允许您这样做。您可以作为iBeacon进行广告推广,但仅当您的应用程序在前台时才能这样做。当处于后台时,广告将被移除,因此无法再被发现(除非其他iOS设备明确扫描该服务UUID)。另请参阅此处的文档:Core Bluetooth背景处理。如果您分享您的用例和想要实现的内容,也许有其他方法来实现它。

当设备未连接时,我想捕获advertisementData。您能告诉我在BLE设备端发生某些事情时调用哪个委托方法吗? - Vikas

1

我没有看到使用Core Bluetooth API实现这一点的方法。这是正确的吗?

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

CoreBluetooth中不允许广告键“制造商数据”

这是不可能的。


1
我已经编辑了回答,准确地说是“不”。如果我错了,请纠正我。 - Darko Djuric

1
我的经验是,如果iOS API中没有暴露某些内容,除了越狱之外,没有其他的方法。对于蓝牙低功耗,API在GAP / GATT级别,较低级别(如果有的话)几乎没有暴露。广告是LL(链路层)功能。
为了说明访问受限的程度:在扫描BLE设备时,您无法在iOS中访问广告者的MAC地址。但在Android中可以。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接