如何在iOS中使用Core Bluetooth获得蓝牙设备的唯一ID

问题描述

我正在开发一个需要ios设备提供蓝牙UUID(以从扫描/已连接的设备获取蓝牙UUID),然后将其发送到服务器进行进一步开发的应用程序。我在互联网上找不到任何答案。

我正在使用核心蓝牙扫描和连接设备,并发送了设备信息名称和uuid,但是uuid每15-20分钟更改一次。如何识别以前连接的设备,以及如何获得唯一的BLE设备 UUID ,这样我就可以将标识符与先前添加的设备列表进行匹配。 请帮助 ...

解决方法

您可以获取发现的'not majority': resample all classes but the majority class;的{​​{1}}属性并连接到该属性。如果连接,则该标识符在该设备上不应在相当长的时间内更改(实际上,我认为它不会更改,但从理论上讲可以更改)。

有了外围设备标识符后,您可以保存该值,然后通过retrievePeripherals而不是扫描来获取外围设备。

您将面临的问题是identifier特定于发现外围设备的iOS设备。另一台iOS设备将为同一外设获得不同的标识符。

如果您需要在iOS设备之间可移植的外围设备的唯一标识符,那么您将需要通过外围设备本身的特征公开该值,并让应用在连接后读取该特征值。