scanForPeripherals()对于特定的外围设备

时间:2018-12-10 15:45:33

标签: swift cbperipheral cbcentralmanager

我当前正在搜索特定类型的外围设备。我有两个,所以最后,我希望能够包含每个外围对象包含两个长度的列表。这是我目前所拥有的:

private var peripheralList: [CBPeripheral] = []

public func searchForPeripheral() {
    if centralManager.state == .poweredOn {
        let serviceCBUUID = CBUUID(string: "D45C2000-4270-A125-A25D-EE458C085001")
        centralManager.scanForPeripherals(withServices: [serviceCBUUID], options: nil)
    }
}

public func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
    peripheralList.append(peripheral)
}

目前,我能够找到两个外围设备并将它们添加到peripheralList中,但是我进行了一些研究,发现了一个名为CBCentralManagerScanOptionSolicitedServiceUUIDsKey的东西。乍一看,这似乎将帮助我实现在找到两个外围对象之后停止扫描的目标。我相信我必须使用optional函数的scanForPeripherals参数,但是我不确定该如何使用。感谢所有帮助。

0 个答案:

没有答案