2016-09-29 69 views
7

我希望能够在iOS上创建一个BLE广告,我可以在字节级别上控制广告。iOS上的自定义BLE广告

一个用例就是模仿iBeacon广告。 What is the iBeacon Bluetooth Profile(我想广告,而我的应用程序在后台,这就是为什么我不使用CoreLocation)

我看不到一种方式来与核心蓝牙API做到这一点。它是否正确?是否有替代方案使用私有API或越狱?

回答

1

我没有看到用Core Bluetooth API做到这一点的方法。这是 是否正确?

由于您必须设置制造商特定数据才能实现此目的,如果没有任何变化,您将体验到与我所做的相同的问题。解释here

这是不可能的。

+1

我编辑过,确切地说,答案是“不”。请纠正我,如果我错了。 –

1

我对iOS的使用经验是,如果它没有暴露在API中,除了越狱以外没有任何办法。对于低能耗蓝牙,API处于GAP/GATT级别,并且在较低级别(如果有的话)暴露很少。广告是一种LL(链接层)功能。

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

1

正如其他人已经指出的那样,iOS上没有API允许您这样做。

您可以作为iBeacon做广告,但只有当您的应用程序位于前景时。在后台时,广告被删除,因此无法再被发现(除了显式扫描该服务UUID的其他iOS设备)。另请参阅此处的文档:Core Bluetooth Background Processing

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