Вот простой код Swift для консольного приложения macOS:
import Foundation
print("hello world")
RunLoop.main.run()
В моем реальном коде я использую RunLoop
, чтобы не покидать консольное приложение, потому что я реагирую на некоторые события CoreBluetooth и имею бесконечный цикл вещей, которые я хочу отобразить. Я просто хочу выйти из приложения, используя Ctrl + C.
Однако при использовании RunLoop.main.run()
я не могу больше выводить данные в моем терминале:
$ ./app
hello world
^C
$ ./app | grep hello
^C
Некоторые идеи о том, как я могу получить вывод?
Я полагаю, использование RunLoop
- плохая идея, но что может быть альтернативой без активного ожидания или ручного управления некоторыми потоками выполнения?