Я пишу стандартное приложение Какао, и я только начал реализовывать поддержку AppleScript для него. Я определил и реализовал свойство под названием testprop
для своего класса сценариев приложения верхнего уровня, и доступ к нему работает просто отлично: если я запускаю экземпляр моего приложения и запускаю следующий AppleScript в Редакторе сценариев, я получаю вывод ожидать:
tell application "MyApp"
testprop
end tell
Однако, если я запускаю этот же AppleScript в Редакторе сценариев , когда мое приложение не запускается , оно возвращает последнее известное значение для этого свойства и продолжает возвращать его для последующих вызовов. Я не вижу экземпляра моего приложения, запускаемого где-либо в графическом интерфейсе.
После того, как я заметил это, я запустил "ps xawww | grep MyApp"
в оболочке, которая сказала мне, что процесс был создан с использованием основного исполняемого файла моего приложения, с аргументом, который выглядит примерно так: -psn_0_323663
(число в конце меняется каждый раз при запуске этого процесса - я понимаю, что это «серийный номер процесса», который AppleScript (среди прочего) использует для отслеживания и контроля процессов).
Что здесь происходит? Как я могу предотвратить это (т. Е. Запустить мое приложение как полноценный, правильный экземпляр с графическим интерфейсом, когда AppleScript «скажет» для него команды)?
Edit:
Вышеуказанное происходит только на моем ноутбуке. Когда я пытаюсь сделать то же самое на моем Mac Mini (версия ОС одинакова для обоих: 10.5.8), я просто получаю сообщение об ошибке:
$ osascript -e "tell application \"MyApp\"" -e "testprop" -e "end tell"
26:40: execution error: The variable testprop is not defined. (-2753)