2009-03-14 14 views

Respuesta

23

en su info.plist añadir

<key>CFBundleIconFile</key> 
<string>iconfile</string> 

con archivo de icono iconfile.icns en el directorio de Recursos

+0

Funciona perfectamente. Gracias. –

+3

La respuesta es correcta, pero el Buscador generalmente no recoge el cambio en el ícono inmediatamente. Copie el paquete en otra carpeta para que registre el nuevo icono. – koan

+1

Tuve que eliminar adicionalmente el ícono vacío? archivo en la raíz del paquete. – ciastek

4

Si usted vino aquí porque tiene una sola aplicación y desea cambiar la imagen en el ordenador (no seguro cómo funciona para compartir), hay formas mucho más sencillas. En particular, aquí hay dos opciones que he utilizado:

  1. Si desea copiar un icono existente:

    • Seleccione el elemento de origen y pulse Comando-I (Apple-I)
    • Seleccione el elemento que desea cambiar y presione Cmd-I (Apple-I)
    • Arrastre el icono desde la fuente al icono superior izquierdo del que desea cambiar (la imagen de muestra muestra el icono de destino: es el icono 'carpeta' a la izquierda de las palabras "bird_id 2"): enter image description here
  2. Cree un archivo .icns a partir de cualquier imagen. Si usa MacPorts, le recomiendo usar las marcas de puerto, vea más abajo para más información. Alternativamente, puede hacerlo utilizando una aplicación como http://www.img2icnsapp.com/, como se recomienda en 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. 
+0

Brillante, esto es justo lo que necesitaba (y ahora tengo un iniciador GUI personalizado de Emacs que también hereda todas mis configuraciones de .bashrc, así que puedo encontrar los alias y otros scripts fácilmente desde un shell o eshell de emacs). – Ben

3

he cometido un pequeño script que toma una imagen grande y cambia el tamaño de todos los tamaños de icono esperados para Mac OS, incluyendo los dobles para las pantallas retina. Toma el archivo png original, que espero que sea tan grande como el tamaño máximo, si no más grande, para asegurarse de que se procesen con la máxima calidad.

Cambia el tamaño y los copia a un conjunto de iconos, y utiliza la herramienta 'iconutil' del Mac OS para unirlos en un archivo .icns.

Para que esta secuencia de comandos se ejecute, necesita que su archivo de icono original sea un PNG, y tiene su paquete en orden de trabajo más o menos. Solo necesita tocar las primeras tres líneas.

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 
Cuestiones relacionadas