我目前正在使用CoreBluetooth扫描我之前连接的外围设备,并使用特定标识符,然后只连接到外围设备。我知道我可以通过扫描带有服务的外设来做到这一点,然后如果条件满足则与标识符进行比较,然后连接到外设,如下面的代码
func discoverDevices(){
centralManager.scanForPeripheralsWithServices([CBUUID(string: "1234")], options: nil)
}
func centralManager(central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI: NSNumber) {
if peripheral.identifier == NSUUID(UUIDString: "AD4612DG87-7512-683D-79RT-234DFG987RUI{
self.centralManager.connectPeripheral(peripheral, options: nil)
}
}
有没有其他正确方法直接扫描特定外设?谢谢
答案 0 :(得分:0)
据我所知,CoreBluetooth不允许您直接扫描特定的外围设备。
但是,您可以通过拨打retrievePeripheralsWithIdentifiers:
来检查它是否已经是系统的已知外围设备。
您只需要扫描一次并在发现后保留对CBPeripheral
对象的引用。然后,您可以稍后使用connectPeripheral:options: