Я - разработчик Javascript, работающий в Swift, и мне трудно перенести пример приложения Playground, которое я нашел (https://github.com/gregiOS/Playgrounds/tree/master/BLE.playground), в приложение CLI.
import Cocoa
import PlaygroundSupport
let tableViewController = TableViewController()
let dataSource = tableViewController.dataSource
PlaygroundPage.current.liveView = tableViewController.view
let scanner = BluetoothScanner { scanner in
scanner.startScanning { (peripheral) in
print("Discovered peripheral: \(peripheral.tableViewData)")
}
}
Мое желание, ия попытался просто удалить import PlaygroundSupport
и dataSource
/ tableViewController
и просто распечатать периферийные устройства на стандартный вывод, однако программа просто сразу же завершает работу. Я пытался использовать группу рассылки, но это не выгляделодля работы либо:
import Cocoa
let myGroup = DispatchGroup()
print("Scanning...")
myGroup.enter()
let scanner = BluetoothScanner { scanner in
scanner.startScanning { (peripheral) in
print("Discovered peripheral: \(peripheral.tableViewData)")
myGroup.leave()
}
}
myGroup.notify(queue: .main) {
print("Finished all requests.")
}
Также пытался использовать myGroup.wait()
, но он просто сидел без дела. Я считаю, что отчасти проблема в том, что сканирование выполняется бесконечно, тогда как мне просто нужно, чтобы оно работало в течение 2 секунд.или так и остановимся.
Дело в том, что я нахожусь над моей головой и мне нужно создать PoC, показывающий обнаружение Bluetooth. Я был бы очень признателен за любые указатели.