Какао Получите статус адаптера питания
-
13-10-2019 - |
Вопрос
В настоящее время я работаю над приложением резервного копирования, и я получил множество запросов на добавление функций, которые будут добавлены недавно, и лучшим из них является добавление флажок «Резервное копирование, когда на батарейке», как и в Time Machine.
Итак, есть ли способ получить состояние адаптера питания (подключен и подключен)? Я предполагаю, что если бы у человека был настольный Mac, такой как IMAC и т. Д., Я бы, вероятно, просто подключился. Поэтому мне нужны средства обнаружения, является ли компьютер портативным или нет.
Я предполагаю, что iokit будет библиотекой, на которую можно посмотреть, но я просто не мог найти ничего в документах, которые в любом случае едва существуют в этой структуре. Затем, поскольку это более старая каркатная структура, есть ли способ зарегистрировать обратный вызов, который вызывается при изменении этого состояния власти? Таким образом, я могу правильно реализовать функциональность этого флажона.
Я бы признателен за помощь в прояснении этого предмета.
Решение
Iopowersources.h имеет необходимые вам функции. Начните с IOPSNotificationCreateRunLoopSource()
Для создания источника цикла запуска и в вашем обратном вызове допросите информацию об источнике питания, начиная с IOPSCopyPowerSourcesInfo()
И пробежать свой путь вниз. Могут быть лучшие примеры, но этот файл кажется разумной демонстрацией того, как это делается; Достаточно, чтобы вы начали.