草庐IT

iOS iBeacon : How to get all of proximityUUID programmatically?

coder 2023-07-29 原文

我想以编程方式查看广告数据包的所有 proximityUUID。有些文章说在iOS上是不可能的,但是Android是可以的。但我不敢相信,因为我发现神奇的应用程序“BLExplr”有这个功能。我需要在我的应用程序中实现该功能。有谁知道该怎么做或有好的例子吗?任何帮助将不胜感激。

(2014 年 1 月 17 日更新)

我相信@davidgyoung 的回答是正确的。 Estimote beacon 的 proximityUUID 是“B9407F30-F5F8-466E-AFF9-25556B57FE6D”,但在 BLExplr 应用程序上显示我的 Estimote beacon 的 UUID 是另一个 ID。

最佳答案

不幸的是,您不能在 iOS 上执行此操作。当您说 BLExplr 和 LightBlue 可以做到这一点时,您将蓝牙服务 UUID 与 iBeacon Proximity UUID 混淆了。这是两件截然不同的事情。

蓝牙服务 UUID 对 iOS 可见,但与 iBeacon 的标识符无关,并且对 iBeacons 无用。每次看到蓝牙设备时,服务 UUID 由 iOS 生成,并且仅在蓝牙设备处于范围内时保持不变。如果您拿走蓝牙设备并稍后将其取回,它将具有不同的服务 UUID。

iBeacon 的标识符(ProximityUUID、Major、Minor)嵌入在蓝牙广告的主体内。 iOS 设备上的问题是 Apple 的 CoreBluetooth API 不允许访问原始广告主体,因此没有第三方应用程序能够读取这些标识符。 Apple 只允许使用特殊的 iBeacon CoreLocation API 访问这些标识符,但这些 API 要求您预先知道 Proximity UUID。

对不起,我知道这不是你想听到的答案! (对此我也很抱歉!)不管它的值(value)如何,您都可以在 Android、OSX Mavericks 和 Linux 上执行此操作。

查看详情 here .

关于iOS iBeacon : How to get all of proximityUUID programmatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21163290/

有关iOS iBeacon : How to get all of proximityUUID programmatically?的更多相关文章

随机推荐