CoreBluetooth扫描具有特定标识符的外围设备

时间:2016-01-29 06:02:10

标签: swift core-bluetooth identifier peripherals

我目前正在使用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)
    }
}

有没有其他正确方法直接扫描特定外设?谢谢

1 个答案:

答案 0 :(得分:0)

据我所知,CoreBluetooth不允许您直接扫描特定的外围设备。

但是,您可以通过拨打retrievePeripheralsWithIdentifiers:来检查它是否已经是系统的已知外围设备。

您只需要扫描一次并在发现后保留对CBPeripheral对象的引用。然后,您可以稍后使用connectPeripheral:options:

请求连接