获取已知 BLE MAC 的 BLE UUID

问题描述 投票:0回答:1

据我了解,在 iOS 中无法像在 Android 中那样获取 BLE MAC 地址,而是 iOS 根据 BLE MAC 地址创建一个 UUID,该地址在不同的 iOS 设备上是不同的,但应用程序可以将其用作代替 BLE MAC 的唯一标识符。来源如下。

我的问题是,我可以从已知的 BLE MAC 地址生成这样的 UUID 吗?这样就可以选择将 BLE MAC 输入到应用程序中,生成相应的 UUID,然后让应用程序查找具有匹配 UUID 的 BLE 广告。显然,对于给定的 iOS 设备,BLE UUID 不得随时间变化。

“iOS 隐藏设备的 MAC 地址并生成 UUID。 iOS 上的 UUID 由 iOS 设备生成。不同的 iOS 设备将获得同一外设的不同 UUID。 MAC 地址通常基于硬件。如果我们都有 iPhone 并扫描相同的外围设备,我们会看到不同的 UUID。 iOS 在设备上生成 UUID 并隐藏 MAC 地址。u2028u2028摘要 - iOS 不允许您获取设备的 MAC 地址,而是为您提供随机的 UUID。“

来源 - https://github.com/don/cordova-plugin-ble-central/issues/77

ios bluetooth-lowenergy
1个回答
0
投票

在蓝牙环境中,您所说的 BLE MAC 被称为 BD_ADDR

当今没有移动操作系统提供获取硬件信息的选项,这是因为用户隐私的价值高于应用程序对能够通过硬件标识符唯一标识硬件的兴趣。

因此,如果您想识别应用程序运行的硬件,您可以在iOS中读出AdvertisingIdentifier。但是,这与 MAC 或 BD_ADDR 等任何硬件标识符无关。

另一方面,相同的规则适用于您的设备或应用程序所连接的通信伙伴。操作系统对应用程序隐藏任何硬件标识,因此也无法在此处跟踪硬件。

© www.soinside.com 2019 - 2024. All rights reserved.