Как изменить значок псевдонима, созданного с помощью appleScriptcript? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть appleScript, который создает ярлык на рабочем столе для исполняемого файла в файловой системе.Excutable имеет стандартную иконку exec.Можно ли изменить значок, чтобы он указывал на файл icns?

Я читал, что вы можете сделать это с помощью сторонней программы, как указано в Изменить значок папки с помощью AppleScript?

, но возможно ли это без использования внешней программысделать это?

Это мой сценарий

set source_file to (POSIX file "path to my exectuable")
tell application "Finder"
make new alias file at desktop to source_file
set name result to "My Shortcut"
end tell

Примечание: я также могу создать тот же ярлык с помощью команды ln -s, но в этом нет значкаэто просто символ ярлыка пустой страницы

1 Ответ

0 голосов
/ 27 февраля 2019

Работать с такими файлами псевдонимов немного затруднительно, поскольку Finder, похоже, теряет отслеживание файла псевдонима псевдонима после его переименования (даже если это псевдоним).Одним из решений было бы использование AppleScriptObj-C для установки значка перед переименованием файла псевдонима, например (Mojave):

use framework "Foundation"
use scripting additions

set sourceFile to (choose file)
tell application "Finder"
  set newAlias to (make new alias file at desktop to sourceFile) as alias
  my setIcon(newAlias)
  set name of newAlias to "My Shortcut"
end tell

to setIcon(fileRef)
  set iconImage to current application's NSImage's alloc's initWithContentsOfFile:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertCautionIcon.icns" -- example image file
  current application's NSWorkspace's sharedWorkspace's setIcon:iconImage forFile:(POSIX path of fileRef) options:0
end setIcon
...