Пока у меня есть фрагмент кода: charging = IOPSGetTimeRemainingEstimate().isEqual(to: kIOPSTimeRemainingUnlimited)
, который возвращает true или false в зависимости от того, заряжается компьютер или нет. Я хочу следить за обновлениями этого значения, чтобы оно запускало скрипт при изменении. Я новичок в Swift, и любая помощь будет оценена по достоинству. Спасибо!
swift: подождите, пока не изменится источник питания (mac)
Ответы (1)
Вы можете получить состояние зарядки с помощью:
import IOKit.ps
let info = IOPSCopyPowerSourcesInfo().takeRetainedValue()
let sources = IOPSCopyPowerSourcesList(info).takeRetainedValue() as [CFTypeRef]
if let batterySource = sources.first {
let pSource = IOPSGetPowerSourceDescription(info, batterySource).takeUnretainedValue() as NSDictionary
let isCharging = pSource[kIOPSIsChargingKey] as! Int // 1 = charging, 0 = not charging
}
person
vadian
schedule
05.08.2017
Извините, я не очень ясно выразился, но я хочу отслеживать изменения этого значения. Я хочу иметь возможность запускать функцию при ее изменении. Спасибо за вашу помощь.
- person Albert Portnoy; 05.08.2017
Мониторинг также может быть простым таймером. Однако есть API
IOPSNotificationCreateRunLoopSource
для регистрации уведомлений об изменениях
- person vadian; 05.08.2017