Вопрос

Мы пытаемся общаться с USB Hiddevice. Это устройство работает нормально в Windows, где мы можем отправить отчет и вернуть отчет, используя WriteFile() а также ReadFile().

На Mac мы пытаемся взаимодействовать с устройством, используя setReoprt() а также getReport(). Анкет Но getReport() не возвращает никаких данных, а ошибки.

Что не так в приложении?

Это было полезно?

Решение

Чтобы использовать асинхронное поведение, источник события, полученный с использованием getAsynceventsource, должен быть добавлен в цикл пробега.

Приведенная выше нота является частью комментария SetReport. Возможно, вам нужно сначала изучить механизм Runloop Runloop в Mac OS.

Так как здесь невозможно объяснить механизм. Следующие функции и заказы могут помочь вам кодировать, когда вы познакомьтесь с Runloop. (Попробуйте найти «cfrunloop» в Google)

CfrunloopgetCurrent ();
Cfrunlooprun ();
Cfrunloopaddsource (cfrunloopref RL, Cfrunloopsourceref Source, Cfstringref Mode);
Cfrunloopstop (cfrunloopref rl); (я обычно вызываю эту функцию в методе обратного вызова)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top