【问题标题】:Bluetooth peripheral has null UUID蓝牙外围设备的 UUID 为空
【发布时间】:2013-07-23 15:32:06
【问题描述】:

我正在尝试将 BTLE 外围设备连接到我的 iOS 应用,但发送到 didDiscoverPeripheral 的 CBConcretePeripheral 对象的 UUID 为空。

这是从 iPhone 5 上检索到的 CBConcretePeripheral 对象的信息。

<CBConcretePeripheral: 0x20043eb0 UUID = (null), Name = "Wahoo HRM V1.7", IsConnected = NO>

这适用于某些设备,但不适用于其他设备。

这是从 iPhone 4s 上检索到的 CBConcretePeripheral 对象的信息。

<CBConcretePeripheral: 0x1dde9720 UUID = <CFUUID 0x1dde9400> 5147BE71-E894-0152-5669-D640CA5E321C, Name = "Wahoo HRM V1.7", IsConnected = NO>

【问题讨论】:

    标签: ios core-bluetooth


    【解决方案1】:

    Apple 对此做了一些改动,这取决于 iOS 的版本。我相信它与a privacy leak有关。

    某些版本的 iOS 直到您连接到它之后才提供 UUID,此时您会再次发现相同的外围设备。您传递的 CBPeripheral 对象保持不变,因此您可以使用它来确定您是否正在更新有关现有外围设备的信息,或者它是否是新外围设备。该文档不适用于 CoreBluetooth,但通过阅读框架标题可以获得更多信息,如果我没记错的话,CoreBluetooth 上的 iOS 7 文档得到了改进。

    【讨论】:

      猜你喜欢
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多