ios - 任何 iBeacon proximity UUID 的应用程序回调

标签 ios bluetooth-lowenergy core-location core-bluetooth ibeacon

我玩过 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/

相关文章:

ios - 选择行时 UITableView 崩溃

ios - iOS 中通过推送通知检测应用程序是否未打开?

ios - Apple Push Notification 服务 SSL(Sandbox & Production)证书是否通用?

java - Android BLE 接近通知

c++ - 蓝牙 4 (BLE) 似乎无法在许多设备上访问(例如 HP 15-d004au 笔记本电脑)

macos - 如何为 macOS 设置 CoreLocation 使用说明?

ios - 在后台监控 iBeacon 信标

ios - 点击更改 View 颜色,然后返回原始颜色

安卓低功耗蓝牙配对

ios - 无法将类型 '()' 的值转换为预期的参数类型 'String'