web-dev-qa-db-fra.com

Chemin d'image non valide - Aucune image trouvée sur le chemin référencé sous la clé "CFBundleIconFile": Icon.png

J'ai reçu cette erreur d'Application Loader lors du téléchargement de mon application sur l'App Store. Mon application a été développée à l'époque d'iOS 3.0 et cible toujours iOS 4.3 et supérieur. J'ai récemment mis à jour l'application pour la rendre compatible iOS7. Mais le chargeur d'application m'a toujours renvoyé ce type d'erreur. J'ai cherché sur Internet et j'ai constaté que je ne suis pas seul. J'ai donc créé ce message et j'espère que ce que j'ai découvert sur les icônes de l'application peut aider d'autres personnes.

53
Julia Zhao

Il semble que vous ayez, comme moi, accepté la suggestion de XCode 5.0 de migrer vos fichiers d'icônes vers un catalogue.

Lorsque vous faites cela, vous devez supprimer le paramètre CFBundleIconFile ("Fichier d'icônes") du fichier .plist de votre projet. C'est l'ancienne façon de procéder, et une fois que vous avez migré vos fichiers d'icônes, ce paramètre est évidemment incorrect.

Étrange que la migration de XCode ne résout pas cela automatiquement pour vous. Cela aurait été tellement Apple pour vous aider là-bas.

95
Wytze

Si votre application prend en charge iOS 5.0 et versions ultérieures, le déplacement de tous les fichiers d'icônes vers le catalogue d'actifs fonctionnera.

Si votre application doit toujours prendre en charge les versions inférieures d'iOS (comme la mienne), la solution consiste à utiliser la clé CFBundleIconFiles dans le fichier plist du projet. Dans mon cas, mon application est une application uniquement pour iPhone, j'ai donc fait ce qui suit:

  1. Préparez 8 fichiers d'icônes: deux icônes d'application pour iOS6 et versions antérieures (57x57 et 114x114), deux icônes pour iOS7 (60x60 et 120x120), deux icônes pour la recherche/paramètres Spotlight pour iOS 6 et versions antérieures (29x29 et 58x58) et deux icônes pour projecteur (40x40 et 80x80). Les fichiers doivent être des fichiers PNG. Nommez ces fichiers comme vous le souhaitez, mais le nom du fichier haute résolution doit prendre la forme [email protected]
  2. Dans le fichier plist du projet, modifiez la clé CFBundleIconFiles (qui est un tableau) pour inclure les noms des fichiers d'icônes ci-dessus. Seuls les noms de fichiers basse résolution sont nécessaires et l'extension (.png) ne doit pas être incluse. Le Xcode trouvera automatiquement les fichiers haute résolution tant que leurs noms respectent la convention (avec @ 2x).
  3. Assurez-vous que votre projet ne contient pas le dossier Asset Catalog
  4. Si vous avez bien fait les choses ci-dessus, lorsque vous vérifiez la section "Général" de la cible de l'application, vous devriez voir que Xcode a répertorié tous les fichiers d'icônes au bon endroit dans la section "Icônes d'application".
  5. Si votre application doit prendre en charge iOS 3.1 et versions antérieures, vous devez créer quatre fichiers d'icônes supplémentaires. La taille et le nom de ces fichiers sont les suivants: Icon.png (57x57), [email protected] (114x114), Icon-Small.png (29x29), [email protected] (58x58). Les noms fixes sont requis par iOS et ne peuvent pas être modifiés. Mais tant que vous nommez les fichiers d'icônes de cette façon, vous n'avez rien d'autre à faire.

Après ces étapes, vous ne devriez pas avoir de problèmes avec les icônes lors du téléchargement de votre application sur l'App Store.

Le catalogue d'actifs simplifie certaines des étapes ci-dessus, par exemple la génération de fichiers d'icônes à faible résolution (je suppose).

J'ai obtenu les informations ci-dessus à partir de "iOS Human Interface Guidelines", "iOS app programming guide" et "information property list reference". La recherche des "icônes d'application" et tout est expliqué.

11
Julia Zhao

Ma solution était: dans les "phases de construction", sous "copier les ressources du bundle", cliquez sur "+" et choisissez toutes vos icônes.

bonne chance.

10
Elia Weiss

Votre recette fonctionne parfaitement.

De mon côté,

J'ai sélectionné NameOfMyApp-info.plist dans les fichiers de support.

Je n'ai qu'à ouvrir les fichiers Key: Icon.

Je viens de supprimer toute la chaîne d'images. (Le message d'erreur dans la soumission concernait exactement ces images.

J'ai essayé de soumettre à nouveau et: Soumettre avec succès.

Merci

4
ShakeMan

Aucune des solutions ci-dessus n'a fonctionné dans mon cas particulier.

En fin de compte, ce qui suit a fonctionné, au cas où quelqu'un d'autre aurait le même problème:

  1. Supprimez le jeu d'icônes d'application à l'origine du problème du catalogue d'actifs
  2. Dans les propriétés cibles du volet du navigateur, supprimez puis lisez le `` Utilisation du catalogue d'actifs '' pour les icônes d'application - cela recréera un ensemble d'icônes d'application vide
  3. Sélectionnez vos tailles souhaitées et attribuez les images correctes en les faisant glisser depuis le volet de navigation
  4. Supprimer les clés CFBundleIconFiles (il y en a une deuxième pour iPad)
  5. Reconstruire l'archive
4
user38932

Je suis essentiellement allé dans info.plist et j'ai supprimé les icônes dont je n'avais pas besoin. J'ai commencé avec le modèle Cocos2d et je n'avais pas besoin de la plupart d'entre eux, donc je les ai tous supprimés. Lorsque j'ai archivé le programme et suis allé le valider, il a donné des erreurs telles que "où est cette icône et cette icône?" Eh bien, je les ai tous supprimés. Mais dans l'info.plist, les 13 icônes étaient toujours répertoriées, donc je viens de supprimer toutes celles que j'ai supprimées.

1
user3271769

Trouvé le même problème lors de la construction du projet Cordova.

Suppression de CFBundleIcon avec icon.png dans info.plist a résolu le problème pour moi

1
Bali

Afin de résoudre ce problème, j'ai dû ajouter à nouveau une image d'icône.

L'erreur mentionnée '' CFBundleIcons ': AppIcon40x4 fichier et quand j'ai vérifié le Images.xcassets sous l'image AppIcon définissez l'image sur laquelle Iphone Spotlight IOS 7-9 40 pt était en fait avec la mauvaise résolution, j'ai donc fait glisser à nouveau du Finder l'icône avec une résolution de 80x80 (40x40 multipliée par le facteur d'échelle 2x).

1
tavi

Cette erreur peut avoir plusieurs causes, semble-t-il. Dans mon cas, deux fichiers d'icônes avaient des dimensions de pixels incorrectes (générées par cordova). Vous pourriez donc vérifier cela.

1
osxdirk