ios - CoreBluetooth 外围设备标识符更改

标签 ios bluetooth core-bluetooth bluegiga

我正在使用 CoreBluetooth 连接到我使用 BlueGiga BLE113 模块开发的许多相同的蓝牙秤。我的应用程序保留了每个秤的 CBPeripheral.Identifier.UUIDString 的本地副本以及有关该物理秤的一些相关数据,以便我可以将它们区分开来。例如。 “A 级”和“B 级”

我的麻烦是设备的 UUIDString 经常更改。我可以针对一台设备开发几天,然后有一天 UUID 会有所不同。秤未重置,应用未重启,手机蓝牙未循环。

我需要一种方法来可靠地识别每个蓝牙外围设备(规模),并且我不想在生产过程中将标识符硬编码到每个设备中。

有没有更好的长期识​​别外围设备的方法?

最佳答案

不幸的是,我认为您无法绕过 iOS 对外围 UUID 的更改。

根据您必须更改秤上的 BLE 服务/特性的控制,您可以宣传一项附加服务,其中包含您在其中放置自定义标识符的特性。

在 iOS 上,您可以扫描该服务并读取特征值以识别比例。
这样,您就不会依赖操作系统分配给外围设备的 UUID。

希望这可以帮助!

关于ios - CoreBluetooth 外围设备标识符更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709091/

相关文章:

iOS检测蓝牙连接/断开

ios - CBPeripheral track写入记录

ios - 向 iOS 应用程序添加自定义字体以查找其真实姓名

ios - 将图像从 asset.xcassets 加载到 imageArray 中,并将其动态加载到 UIImageView 中,该 UIImageView 存在于 UICollectionView 中 - swift

ios - GPUImage 相机打不开

c++ - 在 C++ Windows 10 桌面应用程序中获取 BLE 信标

android - 蓝牙Android RFCOMM/SPP错误处理建议

ios - BLE通知

ios - 在 Swift 中使用 Int 类型与 IndexPath 类型

c# - 与 C# 的蓝牙通信