2011-01-26 15 views
5

¿Cómo se configura el icono del paquete que no es una aplicación? Intenté usar CFBundleIconFile, pero no funciona (aunque si cambio la extensión del paquete a .app, el ícono se cambia al deseado). ¿Hay otra clave, o la única forma es establecer un icono para el directorio? Si es así, ¿hay alguna secuencia de comandos para hacer esto desde la línea de comandos (secuencia de comandos de ejecución de Xcode)?Icono de conjunto de aplicaciones que no son mac os x paquete

Respuesta

2

Visual documentation of the process of copying and pasting an icon in the Finder

Si tiene que hacerlo desde la CLI ... Es un poco más complicado ...

En primer lugar, es necesario agregar una cadena de CFBundleIconFile a su paquete

YourThing.bundle/Contents/Info.plist 

Aquí es donde el desarrollador obtiene especifica un ícono personalizado para el paquete. Esta clave contiene el nombre de un archivo en la carpeta de Recursos del paquete que contiene los iconos. TextEdit mantiene su icono en un archivo llamado archivo Edit.icns, pero no hay ninguna regla sobre el nombre del archivo.

Dicho esto, tampoco necesita un archivo ICNS, o puede follow these instructions de esta Utility (which includes its source code) que genera de ICNS de archivos de imagen a través de la línea de comandos ..

$ ./makeicns 

de uso: makeicns [k1 = v1 ] [k2 = v2] ...

claves y los valores incluyen: 512: Nombre de imagen de entrada de para 512x512 variante de icono 256: Nombre de imagen de entrada de para 256x256 variante del icono128: Nombre de la imagen de entrada para la variante 128x128 del icono 32: Nombre de la imagen de entrada para la variante 32x32 del icono 16: Nombre de la imagen de entrada para la variante 16x16 del icono en: Nombre de la imagen de entrada para todas las variantes que no tienen un nombrar a cabo : nombre del archivo de salida, por defecto es el nombre de entrada primero no vacío, pero con extensión icns

Ejemplos:

makeicns -512 image.png -32 image.png 

Crea image.icns con sólo una y 512x512 una variante 32x32.

makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns 

Crea outfile.icns con tamaños de 512, 256, 128, y 16 que contienen datos de myfile.jpg y con un tamaño de 32 que contiene datos de otherfile.png.

+0

necesito esto para ejecutar desde la línea de comandos – tig

1

Answer from similar (duplicate) question:

[[NSWorkspace sharedWorkspace] 
    setIcon:(NSImage *)image 
    forFile:(NSString *)bundlePath 
    options:0]; 
+0

¿Por qué se downvoted? No funciona? @tig – Noitidart

+0

Esta solución funcionó para mí, sin embargo, no modificó el archivo dentro de '/ Contents/Resources/appicon.icns' en mi paquete de aplicaciones. Incluso si lo reinicio, utilizo el nuevo ícono en el que lo configuré, pero mi imagen anterior permanece en la carpeta de Recursos, lo que me hace pensar que algo complicado está sucediendo, a parte de una simple actualización. ¿Puedes compartir tus pensamientos sobre este @yairchu – Noitidart

+1

@Noitidart? Lo encontré en la pregunta duplicada (vinculada) como mencioné. "Fruity Geek" dio la respuesta por allí y los enlaces a la referencia de Apple, no tengo más detalles .. – yairchu

Cuestiones relacionadas