У меня есть приложение, которое я подключил к пакету приложений для Mac OS X. Все работает нормально, но я хочу изменить его значок по умолчанию. Как установить значок? Спасибо.
Как установить значок приложения для приложения Mac OS X?
Ответ 1
в info.plist
добавить
<key>CFBundleIconFile</key>
<string>iconfile</string>
с файлом значка iconfile.icns
в вашем каталоге ресурсов
Ответ 2
Если вы пришли сюда, потому что у вас есть одно приложение и вы хотите изменить изображение только на своем компьютере (не знаете, как он работает для совместного использования), есть гораздо более простые способы. В частности, вот два варианта, которые я использовал:
-
Если вы хотите скопировать существующий значок:
- Выберите источник и нажмите Cmd-I (Apple-I)
- Выберите элемент, который вы хотите изменить, и нажмите Cmd-I (Apple-I)
- Перетащите значок из источника в верхний левый значок той, которую вы хотите изменить (пример изображения показывает значок цели: это значок "папка" слева от слов "bird_id 2" ):
-
Создайте файл .icns из любого изображения. Если вы используете MacPorts, я рекомендую вместо этого использовать порты makeicns - см. Ниже дополнительную информацию. Вы также можете использовать это приложение, например, http://www.img2icnsapp.com/, как рекомендовано в https://discussions.apple.com/thread/2773825.
makeicns v1.4.10 (284bd686824f) Usage: makeicns [k1=v1] [k2=v2] ... Keys and values include: 512: Name of input image for 512x512 variant of icon 256: Name of input image for 256x256 variant of icon 128: Name of input image for 128x128 variant of icon 32: Name of input image for 32x32 variant of icon 16: Name of input image for 16x16 variant of icon in: Name of input image for all variants not having an explicit name out: Name of output file, defaults to first nonempty input name, but with icns extension align: [center, left, right, top, bottom] {First letter suffices!} Examples: makeicns -512 image.png -32 image.png Creates image.icns with only a 512x512 and a 32x32 variant. makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns Creates outfile.icns with sizes 512, 256, 128, and 16 containing data from myfile.jpg and with size 32 containing data from otherfile.png.
Ответ 3
Я сделал небольшой script, который принимает большое изображение и изменяет его размеры до всех ожидаемых размеров значков для Mac OS, включая двойные для дисплеев сетчатки. Он берет оригинальный png файл, который, как я полагаю, будет максимальным, если не больше, чтобы убедиться, что они отображаются с максимальным качеством.
Он изменяет размеры и копирует их в набор значков и использует инструмент "iconutil" для Mac OS, чтобы объединить их в файл .icns.
Для запуска этого script вам нужно, чтобы ваш исходный файл значков был 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