Обнаружить открытие / закрытие крышки MacBook с помощью Swift? - PullRequest
0 голосов
/ 22 декабря 2019

Есть ли способ обнаружить события открытия / закрытия крышки MacBook в Swift? Я много искал, но быстро не нашел пути.

1 Ответ

2 голосов
/ 22 декабря 2019

Мне удалось решить эту проблему, выполнив команду терминала в моем приложении. Вот код:

func lidClosed() -> Bool {
    let pipe = Pipe()
    let process = Process()
    process.launchPath = "/bin/sh"
    process.arguments = ["-c", "ioreg -r -k AppleClamshellState -d 4 | grep AppleClamshellState  | head -1"]
    process.standardOutput = pipe
    let fileHandle = pipe.fileHandleForReading
    process.launch()
    if(String(data: fileHandle.readDataToEndOfFile(), encoding: .utf8)?.contains("Yes") ?? false){
        return true
    }
    return false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...