Я разрабатываю приложение, которое использует библиотеку PCBUSB для использования шины CAN на macOS с устройством PEAK-USB. Я решил написать приложение в Swift 5, используя заголовок оболочки PCBUSB.h
, который поставляется с libPCBUSB.dylib
. Эта библиотека была разработана UV Software, Berlin (http://www.mac -can.com ).
На данный момент все работает отлично, за исключением того, что когда устройство подключено к моему Mac, но не подключено к какой-либо шине CAN, через некоторое время соединение не устанавливается, и этот вызов функции блокируется основным потоком, пока не будет получен ответ.
То, что я ищу, это способ тайм-аута вызова этой функции C / C ++ в моем быстром коде. Например, вызовите это в будущем или в потоке времени ожидания. Я просто не могу найти никакого удовлетворительного примера, как этого добиться.
Любая помощь будет оценена,
Clovel
PS: я новичок в Swift, создав только примеры приложений для моего Mac или для iOS. Это мой первый серьезный проект Swift. Вполне возможно, что ответ очевиден, и я просто пропустил его.