98 votes

Comment créer manuellement des fichiers icns à l'aide d'iconutil ?

Lorsque je valide mon application, j'obtiens cette erreur :

le paquet d'applications ne contient pas une icône au format ICNS, contenant à la fois une 512x512 et un 512x512@2x image.

J'avais l'habitude de faire les icônes de l'ICN avec Img2icns et jusqu'à aujourd'hui, elle a toujours fonctionné correctement. Mais maintenant, j'obtiens cette erreur et il n'y a aucun moyen de la faire fonctionner. J'ai essayé d'assembler deux fichiers PNG ( 512x512 y 1024x1024 ) en Img2icns mais je reçois toujours cette erreur. J'ai également essayé de suivre les instructions du document Apple's OS X Human Interface Guideline, mais lorsque j'essaie de créer les jeux d'icônes, j'obtiens cette erreur de terminal :

-bash : erreur de syntaxe près du jeton inattendu 'newline'.

Je ne suis pas très doué avec les commandes du terminal, alors peut-être que je fais quelque chose de mal. J'ai écrit :

iconutil -c icns </Users/myname/SDK Mac Apps/MyApp/grafica/icon.iconset>

Si quelqu'un pouvait m'aider, ce serait très apprécié. Merci, Massy.

261voto

Henry Points 398

Voici un script pour convertir un png 1024x1024 (nommé "Icon1024.png") dans le fichier icns requis. Enregistrez-le dans un fichier appelé "CreateICNS.src" dans le dossier où se trouve votre fichier png puis dans le terminal "cd" vers le même dossier et tapez "source CreateICNS.src" pour l'appeler :

mkdir MyIcon.iconset
sips -z 16 16     Icon1024.png --out MyIcon.iconset/icon_16x16.png
sips -z 32 32     Icon1024.png --out MyIcon.iconset/icon_16x16@2x.png
sips -z 32 32     Icon1024.png --out MyIcon.iconset/icon_32x32.png
sips -z 64 64     Icon1024.png --out MyIcon.iconset/icon_32x32@2x.png
sips -z 128 128   Icon1024.png --out MyIcon.iconset/icon_128x128.png
sips -z 256 256   Icon1024.png --out MyIcon.iconset/icon_128x128@2x.png
sips -z 256 256   Icon1024.png --out MyIcon.iconset/icon_256x256.png
sips -z 512 512   Icon1024.png --out MyIcon.iconset/icon_256x256@2x.png
sips -z 512 512   Icon1024.png --out MyIcon.iconset/icon_512x512.png
cp Icon1024.png MyIcon.iconset/icon_512x512@2x.png
iconutil -c icns MyIcon.iconset
rm -R MyIcon.iconset

58voto

Anne Points 16250

Consultez les instructions suivantes ( enlace ) :

Utiliser iconutil pour créer manuellement un fichier icns

Le site iconutil L'outil en ligne de commande convertit iconset en fichiers icns haute résolution prêts à être déployés. (Vous pouvez trouver la documentation complète de cet outil en entrant man iconutil dans le Terminal). L'utilisation de cet outil permet également de compresser le fichier icns Il n'est donc pas nécessaire d'effectuer une compression supplémentaire.

Pour convertir un ensemble d'icônes en un fichier icns

Entrez cette commande dans la fenêtre du Terminal :

iconutil -c icns <iconset filename>

<iconset filename> est le chemin d'accès au dossier contenant l'ensemble des icônes que vous voulez convertir en icns . La sortie est écrite au même endroit que le fichier iconset file sauf si vous spécifiez un fichier de sortie comme indiqué :

iconutil -c icns -o <icon filename> <iconset filename>

En d'autres termes, vous devez remplacer <iconset filename> par le chemin :

/Users/myname/SDK Mac Apps/MyApp/grafica/icon.iconset

Comme le chemin d'accès contient des espaces, vous devez utiliser des guillemets doubles, par exemple :

iconutil -c icns "/Users/myname/SDK Mac Apps/MyApp/grafica/icon.iconset"

Cette commande devrait fonctionner correctement.

13voto

Henry Points 398

Ces commandes (entrées dans le Terminal) ont fonctionné pour moi afin de convertir un ancien fichier icns au nouveau format :

cd Folder_With_Icns_File
iconutil -c iconset Your_Icon_Name.icns 
rm Your_Icon_Name.icns 
iconutil -c icns Your_Icon_Name.iconset
rm -R Your_Icon_Name.iconset

Mise à jour

Le site -c à iconutil n'est plus supporté. Utilisez --convert à la place :

cd Folder_With_Icns_File
iconutil --convert iconset Your_Icon_Name.icns 
rm Your_Icon_Name.icns 
iconutil --convert icns Your_Icon_Name.iconset
rm -R Your_Icon_Name.iconset

3voto

Peter Hosey Points 66275

Lorsque je valide mon application, j'obtiens cette erreur :

le paquet d'applications ne contient pas d'icône au format ICNS, contenant à la fois une image 512x512 et une image 512x512@2x.

Je ne suis pas très doué avec les commandes du terminal et donc peut-être que je fais quelque chose de mal. J'ai écrit :

iconutil -c icns </Users/myname/SDK Mac Apps/MyApp/grafica/icon.iconset>

Tout d'abord, comme je l'ai mentionné dans un commentaire sur la réponse d'Anne, vous n'avez probablement pas besoin d'utiliser iconutil. Vous devriez pouvoir simplement ajouter le jeu d'icônes à votre projet et laisser Xcode le convertir pour vous dans le cadre de la construction.

Quoi qu'il en soit, c'est peut-être votre problème :

J'ai essayé de mettre deux fichiers PNG ensemble (512x512 et 1024x1024) mais j'ai toujours l'erreur.

Il n'existe pas de taille de point de 1024 par 1024. L'élément de 1024 par 1024 pixels (qui était de 1024 points avant Mountain Lion) est maintenant utilisé pour 512 par 512 points @2x.

Votre fichier PNG doit être nommé de manière appropriée : icon_512x512@2x.png.

3voto

valexa Points 2475

L'ancienne version 2.2 d'Icon Composer d'Apple fonctionne très bien. Il suffit d'ouvrir le fichier .ICNS, d'appuyer sur le bouton 1024x1024 et d'ajouter votre image.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X