我当前正在搜索特定类型的外围设备。我有两个,所以最后,我希望能够包含每个外围对象包含两个长度的列表。这是我目前所拥有的:
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
参数,但是我不确定该如何使用。感谢所有帮助。