Corebluetooth,如何获得独特的UUID?

Wan*_*ani 6 ios5 core-bluetooth

我的问题是CBPeripheral的UUID似乎并不是唯一的.

我有两个iPad2和一个bluetooth4.0设备.

蓝牙设备的UUID与两个iPad不同.

如下图所示. UUID通过第一台iPad获得

UUID通过第二台iPad获得

有没有办法在iOS设备上找到蓝牙设备的唯一UUID?

我需要找到一个在不同设备之间不会改变的UUID或mac地址.

非常感谢,请帮帮我!!

小智 9

我一直在寻找一种方法来部署与平台无关的静态BLE设备配置.我感到沮丧(Apple的UUID是+/-毫无意义,并且无法从CoreBluetooth访问可在大多数/所有其他平台上获得的MAC/BDADDR).幸运的是,我注意到"设备信息服务"配置文件(0x180A)包含"系统ID"属性(0x2A23),该属性对设备的唯一MAC/BDADDR地址进行编码.但是,我不知道BLE设备是否必须公开此服务.


Wri*_*sCS 6

外设使用随机可解析的地址,该地址至少每15分钟更改一次,此时外设将显示为新的.要更改此行为,您需要与外围设备配对,然后您将看到UUID,它将是持久的.

  • 这是正确的实际结论,但错误的解释.真正的解释并不是外围设备随机化其地址(虽然这是可能的),而是iOS不会向应用程序报告实际的硬件地址,而是报告本地分配的临时标识符,该标识符没有已知的映射回实际源除了在iOS蓝牙堆栈中维护的私有数据表之外,传输的地址. (3认同)