我正在使用corebluetooth框架,如果BLE都可见,我可以发现并连接设备。现在我遇到一个问题是能够发现设备一旦发现外围设备由于某种原因关闭,现在我正在尝试使用
连接该设备[centralManager connectPeripheral:activePeripheral options:nil];
这种方法,但外围设备无法连接,所以我需要先检查一下 连接是否可用于外围设备。
由于
答案 0 :(得分:1)
您有一种方法:
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
如果您添加扫描选项,如:
NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil];
[manager scanForPeripheralsWithServices:nil options:options];
然后将连续调用上述方法来更新外设的状态。然后,您可以查看该方法在一段时间内未调用的外设,然后从列表中删除该外设
或者第二种选择是在连接到外围设备之前再次扫描它。