我玩过 Airlocate 和两部 iPhone。也在 Linux/hcitool 信标发射器和 Airlocate 测距之间。我看到要跟踪的邻近 UUID 集硬编码在 Airlocate 源代码中。
iOS 应用是否有可能在任何 iBeacon(任何接近 UUID)附近时获得更通用的回调,并让该应用决定如何按照它想要的方式行事。
我知道从操作系统的角度来看这绝对是可能的,因为我在 PDU 的开头看到了一个 9 字节的 iBeacon 前缀,它与邻近 UUID 无关。
另一个查询 - 我将应用程序中的邻近 UUID 硬编码为某种配对。一般的蓝牙配对与此有何不同。
我提出这些问题的目的是了解使用信标传送(广播)数据的可行性,以便附近的所有接收者都能接收到它。如果我选择使用特定的 16 字节邻近 UUID,那么我只剩下 5 个字节(主要/次要/功率)来传输数据。否则我得到 21 个字节
最佳答案
通过“更通用的回调”,您似乎正在尝试收听您未部署的 iBeacon。答案是否定的,你不能那样做。
根据这篇文章:http://beekn.net/2013/10/ibeacons-can-my-ios-app-find-beacons-that-arent-mine/ ,为了收听 iBeacon,您必须首先知道它的 proximityUUID。 不幸的是,Apple 决定限制您这样做的能力。 CoreBluetooth 框架可以检测附近的 iBeacon,但由于它只返回设备 UUID,而不是 proximityUUID,因此您无法向它们添加回调。
Android 可以毫无问题地读取任何 iBeacon 的 proximityUUID。
关于ios - 任何 iBeacon proximity UUID 的应用程序回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663978/