使用核心蓝牙的CBCentralManager,可以扫描使用scanForPeripherals(withServices: [CBUUID]?, options: [String : Any]? = nil)的设备。多亏了回调centralManager(CBCentralManager, didDiscover: CBPeripheral, advertisementData: [String : Any], rssi: NSNumber),我可以检查设备。
通过实现回调func centralManager(CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: Error?),可以检测到外设断开连接(解除配对)。但是,如何检测不成对的外围设备在不重新扫描的情况下关闭(或移动)?
我是否需要定期扫描并保留成对设备的增量?
BLE外围设备在关闭以警告监控设备时是否会发出消息,或者我是否应该假设未发送广告数据包的设备处于睡眠/死机/消失状态?广告过程是否遵循我可以依赖的明确规则,还是取决于设备的制造商/固件编写器?
https://stackoverflow.com/questions/51311458
复制相似问题