Проблема доступа к командной строке виджета OSX Dashboard - PullRequest
1 голос
/ 22 октября 2010

Я пытаюсь получить доступ к командной строке из простого виджета 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/>

Есть идеи, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 03 июня 2012
killall DashboardClient

помогло мне

0 голосов
/ 24 октября 2010

Кажется, есть какая-то ошибка в Dashboard. Мне удалось заставить виджет работать, переименовав его. Виджет прекрасно работал в Dashcode до переименования (спасибо, Тилс), и когда я установил его оттуда с другим именем, он работал Это вдохновило меня на попытку переименовать его, и это сработало.

...