我有 3 个具有相同 CBUUID
的传感器,即所有三个传感器都传输相同类型的服务,但具有不同的 MAC 地址。
在前台扫描中一切正常,我可以使用 CBCentralManagerScanOptionAllowDuplicatesKey = YES
为不同的 BLE 设备获取相同 CBUUID 的不同委托(delegate)回调。但是在外围设备的后台扫描中,CBCentralManagerScanOptionAllowDuplicatesKey
被忽略了。我将如何在后台扫描这 3 个传感器,因为所有数据包都将合并为一个数据包并由 iOS 公布为一个数据包。
最佳答案
allowDuplicates
选项意味着您的应用将接收到针对同一外围设备的 didDiscover
委托(delegate)方法的多个回调。。
不需要简单地发现多个正在通告相同服务的外围设备。
当您开始扫描时,您应该指定您感兴趣的服务的CBUUID
。一旦您收到对didDiscover
的调用,您就可以存储外围设备的 identifier
并在将来使用它连接到外围设备。
扫描特定服务在前台和后台均有效。
关于ios - 通过 iPhone 设备扫描三个具有相同 CBUUID 但 MAC 地址不同的相同 BLE 传感器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52468669/