Как заменить иконки у приложений Craft (PdfCraft, GridCraft, PhotoCraft, WordCraft) на macOS

У приложений семейства Craft не самые удачные иконки — лев на зелёном фоне, и этот же значок получают все PDF в Finder, если PdfCraft назначен обработчиком по умолчанию. Поменять можно, но есть несколько неочевидных моментов.

Почему не работает Get Info. Вставка картинки на значок через Finder → Get Info меняет только иконку самого приложения. Значок документов берётся из бандла: Info.plist → CFBundleTypeIconFile → файл .icns в Contents/Resources. У Craft-приложений иконка приложения и иконка документа — один и тот же файл, так что достаточно подменить его.
Что нужно учесть:

  1. App Management. Начиная с macOS Ventura, Terminal не может менять содержимое бандлов в /Applications без разрешения System Settings → Privacy & Security → App Management, даже если файлы принадлежат вам. Без него будет Operation not permitted. После включения Terminal нужно перезапустить.
  2. Подпись кода. После замены файла подпись ломается — бандл надо переподписать ad-hoc (codesign --force --deep --sign -). Приложения подписаны Developer ID, не из App Store, поэтому после переподписи они нормально запускаются; Gatekeeper может один раз переспросить.
  3. Кастомная иконка из Get Info (если ставили раньше) перекрывает новую — её нужно снять: удалить файл Icon\r в корне бандла и атрибут com.apple.FinderInfo. Если удалить только файл, а атрибут оставить, приложение в Dock превратится в значок папки.
  4. Кэш иконок. После замены — lsregister -f, перезапуск Finder и Dock; если значки документов обновились не везде, помогает перелогин.

это только для macOS

все файлы, включая скрипт, должны находиться в этом каталоге: ~/Downloads/Craft-macOS-Icons/

Требование: Terminal должен иметь разрешение App Management !!!

для этого System Setting–>Privacy & Security–>App Management включить ползунок у Terminal.app После включения Terminal нужно перезапустить.

Затем скачайте по ссылке Иконки и текст скрипта с Инструкцией

( https://files.catbox.moe/cralo1.zip)

  • но вот так из терминала мне кажется проще:

cd ~/Downloads
curl -L -o craft-icons.zip https://files.catbox.moe/cralo1.zip
unzip -o craft-icons.zip
xattr -dr com.apple.quarantine Craft-macOS-Icons
chmod +x Craft-macOS-Icons/install-craft-icons.sh
./Craft-macOS-Icons/install-craft-icons.sh

PS: catbox.moe — без регистрации, файлы хранятся бессрочно, до 200 МБ, прямая ссылка на файл