Cambié con éxito los íconos usando el procedimiento descrito en otra pregunta: Cambiar o configurar un ícono de archivo o carpeta mediante programación. O mi sips
(o Finder) se rompió después o acabo de hacer zoom por primera vez (parece que el ícono es nítido desde ≈100x100 hacia abajo), pero, de todos modos, el ícono que sips -i image.png
se crea está borroso/pixelado:
Lo que hice antes de la borrosidad:
$ cp FIN-2.png FIN-3.png
$ sips -i FIN-3.png
Entonces FIN-2 y FIN-3 son lo mismo. FIN-2 es un archivo PNG de 512x512
Además: el uso sips
rompe todos los intentos posteriores al intentar establecer un icono personalizado incluso con cualquier método GUI y con cualquier archivo en cualquier carpeta .
La única cura es eliminar ~/Library/Caches/com.apple.finder/
y reiniciar Finder. Luego, cambiar el ícono a través de la GUI (arrastrar y soltar, copiar y pegar) funciona normalmente con cualquier archivo.
Dos preguntas principales, y responder a cualquiera de ellas probablemente resuelva el problema lo suficientemente cerca para mí:
sips -i
(= sips --addIcon
) en el proceso? (nuevamente, consulte la otra pregunta para obtener información más completa)
sips
roto? ¿Por qué/Cómo? ¿Se puede arreglar? ¿cómo? (¿O es el Buscador? ¿O algo más?)¡Creo que he encontrado una solución!
En primer lugar, instale el osxutils
paquete que está un poco anticuado (2005) pero, sin embargo, funciona. (consulte el contenido de osxutils y las páginas man )
Prepare el PNG para ICNS † —irónicamente, puede usar sips
‡ . Luego use seticon
del osxutils
paquete para cambiar el icono:
$ sips -s format icns FIN.png --out FIN.icns
$ seticon -d FIN.icns FIN.png
El seticon
también cambia los atributos del archivo, es decir. usar SetFile -a C
no es necesario.
†: Usar un PNG como archivo fuente para seticon
cambiar el ícono a un ícono PNG genérico, incluso con la -d
opción. Además, el uso seticon FIN.icns FIN.png
cambia el ícono a un ícono ICNS genérico. (Consulte las páginas del manual de seticon )
‡: NB: el archivo de origen debe ser un cuadrado y las posibles longitudes de los lados son: 16, 32, 48, 128, 256 y 512.
Por extraño que parezca, la mejor solución parece ser no usar las propias herramientas de Apple sino el código de Python porque tiene 3 ventajas que no están limitadas por:
JMY1000
dardo82
sips -i
parece estar limitado a una resolución de 256x256 píxeles en este momento.