gpt4 book ai didi

ios - iOS 上的 BLE 扫描不返回 UUID 信息

转载 作者:行者123 更新时间:2023-11-29 12:38:03 24 4
gpt4 key购买 nike

我一直在调查 iOS 蓝牙扫描的问题。在 iOS 上扫描 BLE 广告时,iBeacon 的 UUID 不是我所期望的(根据 Radius Networks 的信标默认 UUID,该信标的提供商)。事实上,这完全无关。不过,奇怪的是,在 Mac OS X Mavericks 下运行的完全相同代码运行得很好。因此,我开始相信这只是操作系统正在做的事情。

这是 iOS 实现:https://github.com/syoutsey/iOSBLE

Mac OS X 实现:https://github.com/syoutsey/MacBLE

这两个存储库都是基于 Swift 的。我在 Objective-C 中编写了相同的代码并得到了相同的结果。

我已经阅读了 Radius Networks 的帖子,其中它没有正确返回设备 UUID ( http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html ),但很好奇 RadBeacon 扫描仪应用程序(由 Radius Networks 提供)能够正确识别 UUID。那个应用程序在做什么而我的不是?

最佳答案

您偶然发现了 iOS 中不适用于 OSX 的奇怪限制。仅在 iOS 上,CoreBluetooth 会阻止读取符合 iBeacon 规范的蓝牙 LE 广告数据的能力。

目前尚不清楚 Apple 为何这样做。显然,人们可以在 Android、Linux 甚至 OSX 等其他平台上读取原始字节。 (您已经演示了后者。)也许他们只是不想让人们绕过 CoreLocation 来寻找 iBeacon。或许他们只是没有考虑清楚。

不管是什么原因,恐怕你在 iOS 上运气不好。

RadBeacon 扫描仪使用 CoreBluetooth 连接到设备并使用 Gatt 读取标识符。它不会从广告中获取标识符。

关于ios - iOS 上的 BLE 扫描不返回 UUID 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25734665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com