#objective-c #macos
#objective-c #macos
Вопрос:
Я пишу приложение для Mac, которому необходимо проверить, установлен ли данный драйвер или нет.
Как я могу это проверить?
BR, S.
Комментарии:
1. Это был бы USB-последовательный драйвер: prolific.com.tw/eng/downloads.asp?id=31
2. Похоже, установлен kext: ProlificUsbSerial.kext
Ответ №1:
Самый простой способ — использовать grep-вывод kextstat
для его имени, зная, что grep
возвращает ненулевой код выхода, когда ничего не найдено:
if (0 == system("/usr/sbin/kextstat | /usr/bin/grep -qF com.company.KextName"))
{
// it is loaded
}
Если вам нужно сделать это напрямую, проверьте kextstat
исходный код, вы обнаружите, что он использует kmod_get_info
API, однако я не могу найти никакой документации по нему прямо сейчас. Я не вижу серьезных недостатков в использовании system()
call, поэтому я бы придерживался его.