Я создал небольшой скрипт, который берет большое изображение и изменяет его размеры до всех ожидаемых размеров значков для Mac OS, включая двойные для дисплеев Retina. Требуется оригинальный файл png, который, как я ожидаю, будет иметь максимальный размер, если не больше, чтобы убедиться, что он отображается с максимальным качеством.
Он изменяет размеры и копирует их в набор значков и использует инструмент Macu 'iconutil', чтобы объединить их в файл .icns.
Для запуска этого сценария требуется, чтобы исходный файл значков был png, а пакет находился в более или менее рабочем состоянии. Вам нужно только прикоснуться к первым трем строкам.
export PROJECT=Myproject
export ICONDIR=$PROJECT.app/Contents/Resources/$PROJECT.iconset
export ORIGICON=Mybigfile.png
mkdir $ICONDIR
# Normal screen icons
for SIZE in 16 32 64 128 256 512; do
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_${SIZE}x${SIZE}.png ;
done
# Retina display icons
for SIZE in 32 64 256 512; do
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_$(expr $SIZE / 2)x$(expr $SIZE / 2)x2.png ;
done
# Make a multi-resolution Icon
iconutil -c icns -o $PROJECT.app/Contents/Resources/$PROJECT.icns $ICONDIR
rm -rf $ICONDIR #it is useless now