我正在制作一个使用 Core Bluetooth 并定期检查外围设备是否还在的 iOS 应用程序。我的问题是,当我关闭广告设备(甚至完全关闭蓝牙)时,当我调用retrievePeripheralsWithIdentifiers 时,我的中央设备仍然返回 CBPeripheral 对象。一旦它不再做广告,我需要它准确地不返回这个外围设备。提前致谢!
Best Answer-推荐答案 strong>
retrievePeripheralsWithIdentifiers 查看核心蓝牙数据库以查看它是否可以找到具有指定标识符的外围设备,无论来自该外围设备的广告当前是否可见。这使您可以向之前已经看到并且可能再次看到的外围设备发出连接(核心蓝牙编程指南中描述的“锁定”场景是您可以使用它的一个示例)。
要查看外围设备是否正在广告,您需要调用 scanForPeripheralsWithServices ,为 CBCentralManagerScanOptionAllowDuplicatesKey 指定 YES 并保持您自己的可见表外围设备,当您一段时间没有看到广告时,它们就会老化。
关于ios - 核心蓝牙 iOS - 检索虚假外围设备,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27209326/
|