Я хочу определить, заблокировал ли пользователь свой экран (в macOS), используя Swift
.
На основании этого ответа Я создал следующий код:
import Cocoa
import Quartz
if let dict = Quartz.CGSessionCopyCurrentDictionary() as? [String : Any] {
let locked = dict["CGSSessionScreenIsLocked"]
print(locked as? String ?? "")
}
..., который, кажется, работает нормально, если я явно запускаю код.
Но как можно наблюдать значение, чтобы я получал уведомление при изменении значения?