我正在使用 CoreBluetooth 连接到我使用 BlueGiga BLE113 模块开发的许多相同的蓝牙秤。我的应用程序保留了每个秤的 CBPeripheral.Identifier.UUIDString 的本地副本以及有关该物理秤的一些相关数据,以便我可以将它们区分开来。例如。 “A 级”和“B 级”
我的麻烦是设备的 UUIDString 经常更改。我可以针对一台设备开发几天,然后有一天 UUID 会有所不同。秤未重置,应用未重启,手机蓝牙未循环。
我需要一种方法来可靠地识别每个蓝牙外围设备(规模),并且我不想在生产过程中将标识符硬编码到每个设备中。
有没有更好的长期识别外围设备的方法?
最佳答案
不幸的是,我认为您无法绕过 iOS 对外围 UUID 的更改。
根据您必须更改秤上的 BLE 服务/特性的控制,您可以宣传一项附加服务,其中包含您在其中放置自定义标识符的特性。
在 iOS 上,您可以扫描该服务并读取特征值以识别比例。
这样,您就不会依赖操作系统分配给外围设备的 UUID。
希望这可以帮助!
关于ios - CoreBluetooth 外围设备标识符更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709091/