Отобразить результат bash в виджете центра уведомлений OS X сегодня

Предположим, я хочу отобразить уровень заряда батареи мыши в виджете «Сегодня» в центре уведомлений OS X. Команда Баш

ioreg -c BNBMouseDevice | grep BatteryPercent | sed 's/[a-z,A-Z, ,|,",=]//g' | tail -1 | awk '{print $1}'

дает строку для отображения. Как передать это значение в текстовое поле в todayviewcontroller.xib? Спасибо!


person egwene sedai    schedule 21.10.2015    source источник


Ответы (1)


Вот фрагмент кода, который создает строку из примера вывода команды bash:

let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c", "echo Hi!"]

let outputPipe = NSPipe()
task.standardOutput = outputPipe

task.launch()
task.waitUntilExit()

let data = outputPipe.fileHandleForReading.availableData
if data.length > 0 {
    let output = String(data: data, encoding: NSUTF8StringEncoding)
}

Замените своей командой, установите output в текстовое поле stringValue, и все готово.

person pointum    schedule 26.10.2015