API состояния батареи в macOS?
Как я могу прочитать статус батареи на моем MacBookPro из собственного приложения?
Googling до сих пор показывал только API-интерфейсы для драйверов устройств для обработки событий питания - нет ничего о том, что процессы пользовательской земли получают доступ к этой информации.
спасибо.
Ответы
Ответ 1
Вы можете использовать IOKit для этого, в частности, функции IOPowerSources. Вы можете использовать IOPSCopyPowerSourcesInfo()
, чтобы получить блоб, и IOPSCopyPowerSourcesList()
, чтобы затем извлечь из него CFArray, перечисляя источники питания. Затем используйте IOPSGetPowerSourceDescription()
, чтобы извлечь словарь (содержание IOPSKeys.h смотрите в словаре).
Ответ 2
Если вы ищете быстрый способ запросить его из командной строки, вы найдете команду pmset полезной. Чтобы запросить состояние батареи, в частности, используйте:
$ pmset -g batt
Ответ 3
Может быть, поможет извлечь текст в приложение-скрипт
pmset -g batt | head -n 1 | cut -c19- | rev | cut -c 2- | rev
выход
Battery Power
AC Power
Ответ 4
Посмотрите на контроллер системного управления. У меня нет моей MBP, но я считаю, что вам нужно посмотреть на smc.h