Мне удалось решить эту проблему, выполнив команду терминала в моем приложении. Вот код:
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
}