Вызов метода NSWorkspace с использованием AppleScript - PullRequest
0 голосов
/ 02 февраля 2020

Гуглил часами без всякой удачи. Решил разместить здесь в крайнем случае. Я пытаюсь получить доступ к setIcon:forFile:options: из NSWorkspace's sharedWorkspace. Например, следующий фрагмент кода:

set r to current application's NSWorkspace's sharedWorkspace's "setIcon:forFile:options:"

При выполнении этого фрагмента выдается следующая ошибка: Can't get current application's NSWorkspace's sharedWorkspace's "setIcon:forFile:options:". Access not allowed. (-1723). Я пробовал несколько разных способов обойти это странное исключение, но пока ни один из них не сработал. Будем очень благодарны за любые предложения о том, как действовать дальше.

Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2020

Параметр (одной) литеральной строки не имеет смысла. Метод имеет три параметра. Каждое двоеточие представляет один параметр. Вы должны указать экземпляр NSImage, путь к строковому файлу и целочисленное значение как options

set theImage to current application's NSImage's alloc()'s initWithContentsOfFile:"/fullpath/to/image.icns"
set success to current application's NSWorkspace's sharedWorkspace's setIcon:theImage  forFile:"/fullpath/to/file.ext" options:0
...