Я пишу пользовательский разъем Bluetooth и хочу, чтобы поисковый запрос был точным, как стандартное приложение Bluetooth в Mac OS.Как я могу этого достичь?Я использую платформы CoreBluetooth и IOBluetooth для достижения этой цели, но получаю все виды устройств, включая телевизоры и т. Д.
Из документов Я понял, что есть определенные услуги, которые я хочу предоставить в
.scanForPeripherals(withServices: [CBUUID], options: nil)
Но какие услуги?Я также нашел разъем Xcode Bluetooth по умолчанию, но он не включает исходный код.
На данный момент мой код:
let cbuuids = [CBUUID(string: "0x180A"), CBUUID(string: "0x1801"), CBUUID(string: "0x1800"), CBUUID(string: "0x1812")]
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .poweredOn:
print("powered on")
central.scanForPeripherals(withServices: cbuuids, options: nil)
case .unknown:
print("state unknown")
case .resetting:
print("resetting")
case .unsupported:
print("unsupported")
case .unauthorized:
print("unauthorized")
case .poweredOff:
print("powered off")
}
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print(peripheral.name)
devices.append(peripheral)
devices = devices.unique
tableView.reloadData()
scrubber.reloadData()
}
И я загружаю поисковый запрос на сенсорной панелискруббер, но дело не в этом.
Есть ли способ сопоставить оригинальный список устройств в стандартном приложении?Любой совет приветствуется.