Lorsque je valide mon application, j'obtiens cette erreur:
le bundle d'application ne contient pas d'icône au format ICNS, contenant à la fois un
512x512
et une512x512@2x
image.
J'utilise pour créer les icônes icns avec l' application Img2icns et jusqu'à aujourd'hui, cela fonctionnait toujours correctement. Mais maintenant, j'obtiens cette erreur et il n'y a aucun moyen de la faire fonctionner. J'ai essayé de mettre deux fichiers PNG ensemble ( 512x512
et 1024x1024
) dans Img2icns mais j'obtiens toujours cette erreur. J'ai également essayé de suivre les instructions du guide de l'interface humaine OS X d'Apple, 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 bon avec les commandes de 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 aider, ce serait très apprécié. Merci, Massy.
Réponses:
Consultez les instructions suivantes ( lien ):
En d'autres termes, vous devez remplacer
<iconset filename>
par le chemin:Étant donné que le chemin contient des espaces, vous devez utiliser des guillemets doubles, par exemple:
Cette commande devrait fonctionner correctement.
la source
iconutil
, cependant. Vous pouvez simplement ajouter l'ensemble d'icônes à votre projet et laisser Xcode le convertir pour vous dans le cadre de la construction. Cela est couvert dans la section immédiatement précédente (très courte): developer.apple.com/library/mac/documentation/GraphicsAnimation/...Voici un script pour convertir un png 1024x1024 (nommé "Icon1024.png") en fichier icns requis. Enregistrez-le dans un fichier nommé "CreateICNS.src" dans le dossier où se trouve votre fichier png puis dans le terminal "cd" dans le même dossier et tapez "source CreateICNS.src" pour l'appeler:
la source
convert abc.png -define png:color-type=6 abc_with_alpha.png
.Bien que l'utilisation de toutes sortes de scripts pour convertir une
PNG
image haute résolution en une pléiade de différentes copies basse résolution puisse sembler pratique (et c'est vraiment le cas), il ne faut pas oublier que ce type de redimensionnement automatique rendra des images visiblement imparfaites .Moins de résolution - plus floue l'icône!
Je veux dire, j'aime
imagemagick
aussi, mais ce n'est pas le bon outil pour cette tâche!Au lieu de cela, vous devriez toujours demander un logo dans un format vectoriel à votre concepteur, par exemple au format
SVG
. Avec cela, vous pouvez préparer manuellement desPNG
fichiers parfaits dans toutes les résolutions requises, puis créer un seul.icns
fichier, ce qui rendra l'icône de votre application magnifique sur chaque écran, d'un iPhone SE bon marché à un écran Retina haut de gamme du dernier. iMac. Vous pouvez utiliser Photoshop, GIMP ou tout autre outil de votre choix pour générer ces PNG.À partir des dernières directives d'interface humaine d'Apple à partir de 2020, vous devez préparer les
PNG
fichiers suivants :Une fois tous les fichiers PNG préparés, placez-les dans un répertoire avec une
.iconset
extension (Logos.iconset
par exemple) et exécutez ce qui suit à partir deTerminal
:S'il n'y avait pas d'erreur après l'exécution de cette commande, tous les fichiers ont été traités correctement et vous avez obtenu le
Logos.icns
fichier dans le même répertoire, contenant tous les beaux logos nets pour votre application qui conviendront à n'importe quel écran moderne.la source
Il existe un module de nœud de ligne de commande qui effectue tout le travail de conversion d'un fichier PNG en un répertoire d'icônes:
la source
Ces commandes (entrées dans le terminal) ont fonctionné pour moi pour convertir un ancien fichier icns au nouveau format:
Mettre à jour
Le
-c
paramètre de iconutil n'est plus pris en charge. Utilisez à la--convert
place:la source
Commentaire supplémentaire, lorsque vous créez un fichier .icns, vous devez renommer tous les fichiers image avec le préfixe "icon_ ", sinon iconutil échouera avec le message d'erreur: ".iconset: erreur: Échec de la génération d'ICNS." ce qui n'est pas du tout informatif.
la source
Identique à @Henry (commentaire ci-dessus) mais prend comme argument le nom de fichier PNG et génère l'ICNS avec le même nom.
REMARQUE: Le nom du fichier PNG ne devrait avoir qu'un seul point pour séparer l'extension, c'est-à-dire xpto.png.
Donc, enregistrez le code ci-dessous dans un fichier appelé "CreateICNS.src" dans le dossier où se trouve votre fichier png.
CODE:
COMMENT UTILISER :
Puis dans le terminal, "cd" dans le même dossier et tapez:
où {PNG filename} est le nom de votre fichier PNG, c'est-à-dire xpto.png.
Si votre fichier s'appelait abc.png, vous utiliseriez:
la source
J'ai écrit un script bash pour créer des icns à partir d'un fichier svg:
Assurez-vous que imagemagick est installé avec le support librsvg, sur mac:
Ce scénario m'a très bien servi.
Mettre à jour
Pour un traitement plus approfondi, j'ai créé un outil de ligne de commande (écrit en Swift) pour générer
AppIcon.appiconset
avec la mise en page et le format corrects:https://github.com/kindlychung/genicon
la source
J'ai remanié le script de @ Henry pour le rendre meilleur:
Mettre à jour
Le
-c
paramètre de iconutil n'est plus pris en charge. Utilisez à la-—convert
place:la source
Dead Simple .png 👉 .icns
Plus d'infos : http://eon.codes/blog/2016/12/06/Creating-an-app-icon/
La mise à jour de High Sierra
iconutil
est maintenant plus stricte sur la taille .png source. Plus d'informations à ce sujet dans le billet de blog après le saut. ✌️la source
D'une part, 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 l'ensemble d'icônes à votre projet et laisser Xcode le convertir pour vous dans le cadre de la construction.
Dans tous les cas, cela peut être votre problème:
Il n'y a pas de taille de 1024 sur 1024 points. 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é correctement: [email protected]
la source
L'ancienne version 2.2 d'Icon Composer d'Apple fonctionne très bien, il vous suffit d'ouvrir le fichier .ICNS, d'appuyer sur le bouton 1024x1024 et d'ajouter votre image.
la source
Le code shell de @ dardo82 est bon et a fonctionné. En voici un plus simple en sh (pour tous les * nix) et plus rapide (comme si ça compte vraiment):
la source
Voici une fonction principalement basée sur l'exemple de Henry (pourrait être utile dans
~/.bash_profile
):Utilisation :
la source
Courir
iconutil -c icns Icon.iconset
Remarque
icon_
Icon.icns
avec une image correcte, vous savez que cela fonctionnela source
3x
? Apple n'en a pas besoin.Il y a 2 tâches:
- créer 10 fichiers icns corrects
- faire en sorte que votre projet Xcode les utilise correctement
Comme j'ai eu des problèmes d'une heure avec ces deux tâches, et que je n'aime pas non plus quand je ne `` vois '' pas ce qui se passe, voici un chemin pour les prudents:
Créez 10 fichiers icns corrects:
J'ai utilisé le script ci-dessus de Henry: Il fonctionne toujours pour HighSierra et Xcode 9.2, y compris la commande «c».
Le fichier icns que j'ai obtenu est apparu comme une seule taille d'icône dans Finder / Quicklook et dans Aperçu n'a montré que 8 tailles sur 10.
J'ai donc utilisé le terminal, je suis allé avec cd dans mon dossier et j'ai utilisé la commande: iconutil -c iconset (icns filename) sur le fichier icns qui vient d'être créé pour retourner le fichier icns dans un dossier d'icônes, et - voilà - je pouvais voir mes 10 fichiers d'icônes nouvellement créés. En utilisant Quick look sur le dossier du jeu d'icônes (et en utilisant le mode plein écran pour pouvoir les zoomer avec le curseur), je pourrais vérifier que toutes les tailles sont vraiment très bien.
En passant: ils avaient l'air mieux que mes tentatives de redimensionnement avec PSE, probablement parce que je n'ai pas pris le temps de jouer avec toutes les options de redimensionnement de PSE. Si vous utilisez PSE, assurez-vous que vos fichiers png sont enregistrés sans profil de couleur. Aussi, avouant mon ignorance, pour moi un fichier 256x256 @ 2 équivaut à un fichier 512x512 - tous deux en 72 dpi. Essayer de suivre les commentaires 144 dpi ci-dessus n'a pas fonctionné pour moi.
Faites en sorte que votre projet Xcode les utilise correctement:
j'ai d'abord supprimé toutes mes tentatives infructueuses dans Xcode et commis une version propre dans le référentiel git (ce qui aurait été intelligent, aurait été de commettre une version propre d'abord - avant de démarrer frénétiquement l'icône addition odyssee).
Je me suis également assuré que dans le fichier info.plist, il n'y avait pas de pointeur lié à l'entrée `` fichier d'icône '' et que dans les paramètres généraux de mon projet, j'avais choisi AppIcon pour les icônes d'application. Ensuite, j'ai copié (glisser-déposer avec l'option enfoncée) du dossier du jeu d'icônes chaque fichier image png dans le Spaceholder AppIcon respectif. Encore une fois, je pouvais voir ce qui se passait. Xcode l'a converti en fichiers icns, ou peut-être - comme mon dossier d'icônes dérivé d'un dossier icns - les formats de fichier ont été acceptés.
Ensuite, j'ai ajouté un catalogue assets.asset et dans le catalogue des actifs un nouveau dossier AppIcon 'AppIcons and Launch Images' pour OS.
Ensuite, archivez et validez et il n'y aura aucune erreur lors du téléchargement ou de la validation.
la source
J'avais besoin de ça, mais pour CMake. Je voulais aussi la possibilité de lui donner un SVG.
Voici l'essentiel: https://gist.github.com/Qix-/f4090181e55ea365633da8c3d0ab5249
Et le code CMake:
la source
Bonjour, pour mes besoins j'ai réalisé un droplet qui fonctionne en glisser-déposer des icônes seules ou des icônes pour rechercher dans un dossier (je me suis limité aux dossiers car les recherches sur les Volumes de toutes les icônes peuvent prendre beaucoup de temps). Ainsi, en glisser-déposer, vous pouvez déposer des dossiers ou une application, tout ce qui peut contenir une icône. Le jeu d'icônes créé porte le nom de l'icône d'origine, il est placé dans un répertoire "/ aaaicones" et le chemin de l'icône. Exemple dans le dossier "/ aaaicones si vous soumettez xcode.app vous trouverez" /aaaicones/Applications/xcode.app/access.iconset "et /aaaicones/Applications/xcode.app/access.icns (l'icône recréée) il y aura être un fichier texte où il est tracé le chemin complet des icônes, Et le chemin vers l'exemple d'icônes correspondant "/Applications/xcode.app/Contents/Applications/Instruments.
la source