【问题标题】:iOS - Get peripheral's MAC address from CBPeripheral objectiOS - 从 CBPeripheral 对象获取外围设备的 MAC 地址
【发布时间】:2018-02-18 15:54:49
【问题描述】:

我想获取我的 iOS 设备通过 BLE 连接的设备的 MAC 地址,但我只能看到 UUID。

我通过在网络上搜索问题了解到无法获取 MAC,而只能获取 UUID。我也知道 UUID 是由 iOS 生成的,并且设备不“知道”它......但是我发现的帖子很旧(2-3 岁)所以我想知道是否有任何东西改变了吗?有没有办法获取 MAC 而不是 UUID,或者至少重现 iOS 将 UUID 转换回 MAC 地址的过程?

提前致谢

【问题讨论】:

  • 不,没有任何改变。核心蓝牙是建立在 BLE 之上的抽象层。无法从标识符中获取 MAC 地址,并且没有记录生成标识符的过程。
  • 如果您与设备配对,则 UUID 不应更改。一种解决方法是提供带有 MAC 地址的特征(如果您可以控制设备软件)。但这是围绕 iOS 构建的保护和高级别的。

标签: ios uuid core-bluetooth mac-address


【解决方案1】:

在 iOS 中无法获取 CBPeripheral 对象的 mac 地址。如果“kCBAdvDataServiceData”值中的 CBPeripheral 对象广告 MAC 地址,则转换为 MAC 地址,否则不可能。在 iOS 中,唯一 id 是 CBPeripheral 的 UUID。每个差异。 iOS 设备显示差异。相同 CBPeripheral 的 UUID。如果区分两个或多个 CBPeripheral 对象,则使用 RSSI 范围/值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    相关资源
    最近更新 更多