Я пытаюсь получить доступ к командной строке из простого виджета Dashboard на Snow Leopard. Мое намерение состоит в том, чтобы заполнить содержимое виджета из сценария командной строки, который я вызываю. Это должно быть возможно .
Я вызываю скрипт каждый раз, когда виджет отображается с помощью его обратного вызова:
if (window.widget) {
widget.onshow = onshow;
}
function onshow() {
document.getElementById("mydynamicarea").innerHTML = widget.system("/usr/bin/id -un", null).outputString;
}
Выше я пытаюсь использовать простую команду, показывающую мое имя пользователя, для проверки доступа к командной строке. Это не работает, виджет показывает только статический текст, который у меня есть в HTML:
<div id="mydynamicarea">No data available</div>
Тот же Javascript работает, если я использую статическую строку вместо системного вызова widget.s
if (window.widget) {
widget.onshow = onshow;
}
function onshow() {
document.getElementById("mydynamicarea").innerHTML = "This text is actually shown on widget";
}
Когда я смотрю на консоль, я вижу следующее сообщение об ошибке:
TypeError: Result of expression 'widget.system' [undefined] is not a function.
Я настроил доступ к командной строке в info.plist:
<key>AllowSystem</key>
<true/>
Есть идеи, что я делаю не так?