蓝牙外设具有空UUID

时间:2013-07-23 15:32:06

标签: ios core-bluetooth

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

这是来自iPhone 5上检索到的CBConcretePeripheral Object的信息。

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

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

这是来自iPhone 4s上检索到的CBConcretePeripheral Object的信息。

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

1 个答案:

答案 0 :(得分:0)

苹果已经砍掉并改变了一下,这取决于iOS的版本。我认为它与a privacy leak有关。

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

相关问题