CFBundleIconName manquant dans la version de l'application Xcode9 iOS11

91

J'ai du mal à publier une nouvelle version de notre application utilisant Xcode 9 construit avec le SDK iOS 11. L'archivage et le téléchargement du binaire se passent bien sans aucun problème. La construction apparaît dans iTunes Connect sous Activité en tant que `` traitement '' et elle disparaît et je reçois l'e-mail suivant.

Cher développeur,

Nous avons découvert un ou plusieurs problèmes avec votre livraison récente pour "". Pour traiter votre livraison, les problèmes suivants doivent être corrigés: Valeur Info.plist manquante - Une valeur pour la clé Info.plist CFBundleIconName est manquante dans le bundle «». Les applications qui fournissent des icônes dans le catalogue d'actifs doivent également fournir cette clé Info.plist. Pour plus d'informations, consultez http://help.apple.com/xcode/mac/current/#/dev10510b1f7 . Une fois que ces problèmes ont été corrigés, vous pouvez alors renvoyer le binaire corrigé. Cordialement, L'équipe de l'App Store

Le lien donne des informations sur les ensembles d'actifs. J'ai essayé de définir une clé CFBundleIconName sur un nom de projet ou un nom de fichier image et soumis à nouveau l'application. Cependant, je reçois toujours le même e-mail que ci-dessus.

Toute suggestion d'aide serait très appréciée.

ErAcube
la source
2
Avez-vous correctement défini App Icons Sourcevotre catalogue d'actifs dans les paramètres généraux de votre projet?
vmeyer le
1
@vmeyer: mais qu'en est-il des applications qui n'utilisent pas de catalogue d'actifs?
user102008 le

Réponses:

75

J'ai lutté avec cela toute la journée et la nuit en essayant toutes les permutations auxquelles je pouvais penser et j'ai finalement trouvé cette solution - j'espère que cela sauvera quelqu'un de ce cauchemar.

Mon application n'utilisait pas auparavant de catalogue xcassets, donc j'en avais ajouté un au projet en essayant de résoudre ce problème en utilisant Fichier - Nouveau - Fichier ... et en choisissant un catalogue d'actifs parmi les types de fichiers - je l'ai nommé Assets.xcassets et l'a choisi dans le projet xcode. Ensuite, j'ai fait un clic droit dans la zone de droite et j'ai choisi d'ajouter des icônes d'application et des images de lancement, puis une nouvelle icône d'application iOS, puis j'ai fait glisser mon image 1024x1024 dans le puits pour l'emplacement de l'App Store iOS 1024pt qui, selon vous, aurait fonctionné. mais je reçois toujours des e-mails rejetés après l'archivage et la soumission au magasin.

Valeur Info.plist manquante - Une valeur pour la clé Info.plist CFBundleIconName est manquante dans l'ensemble. bla bla bla ...

J'avais également ajouté la clé à Info.plist pour "Icon Name" qui est également connu par CFBundleIconName et l'ai mis à un nom de fichier de chaîne qui correspondait à mon image 1024x1024 dans le projet. Mais rien de tout cela n'a fonctionné même si la vérification du contenu de l'IPA a montré que tout était correctement en place.

enfin, j'ai supprimé l'AppIcon de mon catalogue appelé Assets.xcassets afin qu'il soit vide et j'ai fait ce qui suit pour résoudre le problème:

Accédez au paramètre principal de l'application en cliquant sur le nom de votre application, puis en sélectionnant l'onglet GÉNÉRAL, puis sous la section Icônes d'application et images de lancement, cliquez sur le bouton à côté de la source des icônes d'application et choisissez d'utiliser un catalogue d'actifs - sélectionnez le nom de votre catalogue d'actifs - le mien s'appelait Assets.xcassets - et disons de convertir (migrer) l'application avec le bouton de cette fenêtre contextuelle - j'ai également coché la case pour convertir les images de lancement également - lorsque vous avez terminé, la source des icônes d'application et la source des images de lancement auront des noms dans la liste déroulante.

allez dans le catalogue d'actifs en cliquant dessus - encore une fois, le mien était Assets.xcassets, puis cliquez sur la section AppIcon et faites glisser votre image 1024x1024 dans le puits / emplacement App Store iOS 1024pt. archivez votre application une dernière fois et soumettez-la à l'App Store - à ce stade, j'espère que je ne recevrai plus d'e-mails de l'enfer lorsque j'ai commencé à les appeler au sujet du rejet de votre application et que vous pouvez retourner sur iTunesConnect pour soumettre votre application.

Bonne chance - Je comprends la douleur que vous pourriez ressentir avec cette erreur principalement cryptique lorsque vous avez essayé de nombreuses solutions raisonnables qui n'ont tout simplement pas fonctionné. Telle est la vie d'un ingénieur logiciel parfois ...;)

si c'était facile, tout le monde le ferait, d'accord. ;)

Richie Hyatt
la source
Exactement, c'était une douleur et je l'ai compris après avoir lu le lien très calmement. En fait, vous n'avez pas besoin de supprimer l'icône de l'application précédente, mais sur la taille de gauche, si vous activez la case à cocher iPad, iPhone, vous obtiendrez toutes les tailles requises.
ErAcube
1
Merci! luttait avec ça depuis longtemps! J'adore la façon dont les erreurs Apple sont si instructives.
talsharonts
La clé pour moi était d'ajouter la ressource AppIcon à partir de l'onglet de projet "Général". (Bizarrement, créer un nouveau catalogue d'actifs, puis ajouter les icônes de l'application n'a pas fonctionné.)
Jason Moore
1
Merci pour ça. Je ne pouvais rien voir en cours de téléchargement sur iTunes Connect, même si j'obtenais un succès lors du téléchargement sur l'App Store. Très perturbant. Habituellement, vous obtenez une erreur si vous laissez quelque chose comme ça tout de suite lors du téléchargement dans le magasin.
uplearnedu.com
2
Plus je développe pour iOS, plus je déteste ça.
mike
59

La solution la plus simple consiste à ajouter la clé CFBundleIconName dans plist et à remplir toutes les tranches AppIcon dans le catalogue d'actifs.

Info.plist:

<key>CFBundleIconName</key>
<string>AppIcon</string>

entrez la description de l'image ici

entrez la description de l'image ici

Téléchargez les actifs de Working AppIcons ici

Gourou
la source
2
Cela a fonctionné pour moi. Merci beaucoup! btw cela fonctionne également sur VS pour Mac
acido
1
la balise parent aurait été bien. maintenant je dois deviner où va la clé.
Martin
34

J'ai compris que depuis Xcode 9, les versions iOS 11 nécessitent que l'icône de l'application iTunes Connect soit fournie avec le binaire lui-même qui aurait pu être ajouté à iTunes Connect directement dans les versions antérieures de Xcode (XCode 8.3.3 ane plus tôt).

Si vous distribuez votre application via l'App Store, ajoutez l'icône App Store à un catalogue d'actifs situé dans le projet Xcode. L'emplacement de l'icône est différent selon la plate-forme.

Pour les applications iOS et watchOS créées à l'aide de Xcode 8.3.3 et versions antérieures, vous ajoutez l'icône App Store dans iTunes Connect. Pour les applications macOS et tvOS, vous ajoutez l'icône App Store au projet Xcode, mais l'emplacement dans le catalogue d'actifs est différent de celui des applications créées avec Xcode 9 et versions ultérieures.

L'icône requise de l'App Store doit être placée dans un catalogue d'actifs situé dans le bundle d'applications.

Ajout d'une icône App Store

Ainsi, CFBundleIconName doit maintenant être défini sur AppIcon (valeur par défaut) ou sur toute valeur que vous définissez.

L'ajout de cette image uniquement ne passera pas le processus de téléchargement des archives iTunes, nous devons donc ajouter toutes les images des icônes d'application des tailles suivantes:

  • 20 pt 1x, 2x, 3x
  • 29 pt 1x, 2x, 3x
  • 40 points 1x, 2x, 3x
  • 60 pt 1x, 2x, 3x
  • 76 pt 1x, 2x
  • 83,5 pt 2x
  • 1 x 1024 pt

Il est donc maintenant temps d'utiliser le catalogue d'actifs pour spécifier les icônes d'application.

ErAcube
la source
1
Dans mon cas (ancienne application créée avec Xamarin / Visual Studio pour Mac ), la solution était aussi simple que de migrer vers le catalogue d'actifs . J'avais aussi un écran de lancement comme story-board, je ne pouvais pas le migrer vers le catalogue d'actifs, donc je l'ai laissé tel quel. Il se plaignait toujours de l'absence d'icône marketing.
firepol
Je pense que vous devez ajouter l'icône marketing sous l'icône de l'application, qui est également de 1024pt. Vérifiez également si vous téléchargez du binaire à l'aide de Xcode 9 GM mais pas de la version bêta.
ErAcube
1
Visual Studio form Mac (ex Xamarin Studio ) n'affiche pas l'icône de l'App Store / Marketing dans les actifs, je n'ai donc pas pu l'ajouter via l'interface utilisateur. Je vais soumettre un bogue à Xamarin. Ce que j'ai fait: modifier Contents.json> ajouter un nom de fichier ios-marketing. J'ai dû ajouter le fichier également dans le ImageAssetfichier csproj. Aussi pour une raison quelconque, mon iTunesArtwork 2x n'était pas correct (en utilisant le même que 1x). Je l'ai écrasé avec un fichier 1024px. L'IPA résultant ne contient pas icon-marketing.png, mais le téléchargement via le chargeur d'application a fonctionné. Double vérification: réessayé sans icône marketing, mais correction d'itunesartwork: erreur marketing.
firepol
1
Voici le rapport de bogue pour xamarin / visual studio pour les utilisateurs de mac à suivre: bugzilla.xamarin.com/show_bug.cgi?id=59515
firepol
15

Je recevais le même e-mail chaque fois que je soumettais un binaire pour une nouvelle version de l'une de mes applications. J'ai essayé tous les remèdes énumérés ici, mais rien n'a fonctionné. Ensuite, j'ai fait un autre changement qui a fonctionné.

Dans la cible. . . Paramètres de construction. . . Compilateur de catalogue d'actifs - section Options , assurez-vous que le nom du catalogue d'actifs contenant les icônes est affiché dans Nom du jeu d'icônes d'application du catalogue d'actifs . Pour une raison quelconque, le nom de mon jeu d'icônes d'application de catalogue d'actifs était vide.

GlennRay
la source
2
Cela a réglé pour moi! J'ai tout essayé sans succès. Cela a également du sens, car j'ai examiné le package .ipa lors de l'exportation avec une version ad hoc et j'ai vu que les icônes n'étaient pas là avant que le compilateur d'actifs ne soit modifié pour avoir «AppIcon» spécifié pour le «Nom du jeu d'icônes d'application du catalogue d'actifs» qui correspondait nom dans xcassets.
GameSalutes
11

Les applications créées avec le SDK iOS 11 ou version ultérieure doivent fournir des icônes d'application dans un catalogue d'actifs et doivent également fournir une valeur pour cette clé Info.plist

Pour les projets plus anciens sans catalogue d'actifs, il y aura des problèmes lors de la soumission à l'Appstore

Dans Projet -> Propriétés de la cible - Onglet Général -> Icônes d'application et image de lancement. Icônes d'application -> Sélectionnez Utiliser le catalogue d'actifs. Ensuite, il vous demandera de convertir (migrer) avec une alerte et de créer un fichier .xcassets. Cochez également la case pour convertir les images de lancement.
Lorsque vous avez terminé, la source des icônes d'application et la source des images de lancement auront des noms dans la liste déroulante. Ajoutez-y les icônes de l'application et d'autres icônes

Neha Vipin
la source
9

J'ai le même problème et je l'ai résolu comme suit.

Voici le guide étape par étape.

Étape 1:

Créez une icône avec 1024 * 1024.png

Étape 2:

Téléchargez ce png sur le site Web https://www.appicon.build/ et faites un glisser-déposer à l'écran.

entrez la description de l'image ici

Étape 3:

Il vous demandera de saisir votre adresse e-mail. Entrez-le et après quelques secondes, vous obtiendrez toutes les tailles d'image requises dans votre boîte aux lettres. Téléchargez ce dossier zippé et décompressez-le.

Étape 4:

Revenez à votre projet sur Xcodeet ajoutez ce dossier décompressé (appelé AppIcon.appconset) dans le dossier des ressources de votre projet xcode.

entrez la description de l'image ici

Étape 5:

Double-cliquez sur le Asset.xcassetsdossier et faites glisser et déposez les images requises sur l'espace réservé pour les images 2x et 3x à partir des images générées.

entrez la description de l'image ici

Tu es prêt!...

casillas
la source
2
Il existe également une application appelée Icon Set Creator sur le Mac App Store. Fait le travail tout aussi simple et ne télécharge pas de choses sur le Web.
Yaroslav
Excellent post, cela a fonctionné pour moi et m'a fait gagner beaucoup de temps, merci
andydoe
8

Maintenant dans IOS 11, nous devons ajouter une nouvelle icône dans notre projet de taille 1024x1024.

Assurez-vous que les fichiers d'icônes sont supprimés du dossier de ressources dans le paquet de code source et que la clé de fichiers d'icônes dans info.plist est effacée. Ajoutez également la clé CFBundleIconName dans plist comme ci-dessous

Info.plist:

<key>CFBundleIconName</key>
<string>AppIcon</string>

Toujours dans la section Projet - Cible -> Paramètres de construction -> Compilateur de catalogue d'actifs, assurez-vous que le nom du catalogue d'actifs qui contient les icônes est affiché dans Nom du jeu d'icônes d'application du catalogue d'actifs.

Neha Vipin
la source
4

J'ai aussi rencontré l' erreur «Valeur Info.plist manquante - Une valeur pour la clé Info.plist CFBundleIconName est manquante dans le paquet ...» et je voulais laisser une réponse concise pour aider, espérons-le, la personne suivante.

L'application n'utilisait pas de catalogue d'actifs. Bien que ce ne soit pas ce que cette erreur indique, c'est ce qui est nécessaire pour résoudre ce problème, mais la façon dont vous ajoutez les valeurs est importante. Il ne suffit pas d'ajouter manuellement cette clé \ valeur manquante au .plist; il y a plus que cela. Vous devez également supprimer la valeur CFBundleIcons de votre .plist. Cela peut être fait manuellement, mais je recommande d'utiliser l'interface XCode pour le modifier via les Propriétés du projet - Icônes générales de l'application et Image de lancement. C'est ainsi que j'ai fait travailler le mien.

Vous trouverez ci-dessous une capture d'écran des modifications apportées à mon .plist.

Mise à jour du .PList

Icônes d'application et images de lancement

Ajoutez un nouveau catalogue d'actifs à votre projet si vous n'en avez pas déjà un.
Cliquez sur le nom de l'application en haut de la fenêtre de votre navigateur
Sélectionnez l'onglet GÉNÉRAL
Faites défiler jusqu'à la section «Icônes d'application et images de lancement»
Cliquez sur le bouton «Utiliser un catalogue d'actifs»
REMARQUE: j'avais créé mon propre catalogue d'actifs et l'image de l'icône de l'application iOS ensemble, mais la liaison à l'existant ne fonctionnait pas pour moi car cela créait un nouvel ensemble d'images qui avait des valeurs vides \ images. J'ai dû tous les supprimer et laisser ce processus les créer pour moi. Si vous venez d'ajouter un catalogue d'actifs pour résoudre ce problème, laissez ce processus le créer pour vous, n'ajoutez pas manuellement l'ensemble d'images.

Cliquez pour convertir \ migrer l'application
Après avoir cliqué sur le bouton, rien ne s'est actualisé automatiquement pour moi. J'ai navigué, puis je suis revenu à l'écran des paramètres et les valeurs étaient maintenant attribuées dans la liste déroulante.

Ouvrez maintenant votre nouveau catalogue de ressources en cliquant dessus.
Cliquez sur la section "AppIcon" et faites glisser les images souhaitées vers les emplacements appropriés.

Vous aurez besoin de l'image 1024x1024 pour l'icône de l'App Store iOS 1024pt et de toute autre icône requise pour l'application iPhone \ iPad \ Universal. L'image 1024x1024px est également connue sous le nom d'icône marketing. Vous ne pouvez pas soumettre votre application sans elle.

Vous devriez maintenant pouvoir archiver votre application et la soumettre à l'App Store.

R. Bauer
la source
4

Pour tous ceux que les réponses ci-dessus n'ont pas aidé (ont passé un bon bout de temps à cogner sur celui-ci):

Assurez-vous de vérifier l'appartenance cible de votre répertoire d'actifs! Si vous ne liez pas correctement l'adhésion ici, vous obtiendrez la même erreur super-générique (Apple devrait faire quelque chose à propos des messages d'erreur).

entrez la description de l'image ici

L'appartenance cible doit être directement corrélée aux cibles pour lesquelles vous utilisez les icônes. Par exemple, j'utilise ce répertoire unique à la fois pour mon application principale et pour les actifs de l'application de surveillance, vous devez le spécifier en sélectionnant le membre approprié.

Vous n'avez pas du tout besoin de modifier le plist, la plupart de ces réponses sont trompeuses.

J'espère que cela aide quelqu'un qui frappe ça!

hisairnessag3
la source
1
OMG. Après HOURS à lutter contre ce problème, il s'agissait simplement de vérifier l'adhésion cible qui, pour une raison quelconque, n'était pas cochée. Merci beaucoup.
GGirotto
3

Suivez les étapes ci-dessous.

  1. Dans votre projet, ajoutez un nouveau fichier >> Asset Catlog.
  2. Goto Cliquez sur votre projet dans XCODE >> Général >> Icônes d'application. Voir la capture d'écran . Cela créera automatiquement les spécifications AppICon et LaunchImage dans votre actif, après quoi vous pourrez faire glisser et déposer votre icône Appstore et d'autres icônes.

  3. Ajoutez également .
    <key>CFBundleIconName</key>
    <string>AppIcon</string>

Cette entrée dans votre fichier plist.

Téléchargez vos fichiers binaires sur Itunes.

Pramod Chaudhari
la source
(Xcode 9, la section « Général » décrite apparaît seulement pour une cible, et non un projet ...)
benc
2

J'ai enfin trouvé une solution propre à ce problème qui ne nécessite l'ajout d'aucune clé à info.plist telle que CFBundleIconName. Je l'ai fait lors de la mise à jour d'une ancienne application dans l'App Store pour la compiler avec le SDK 11.2 (et croyez-moi, il y avait pas mal de frustration). J'utilise Xamarin dans Visual Studio sur un PC, mais cette solution devrait fonctionner dans n'importe quel autre IDE ou framework, par exemple XCode. L'essentiel de la solution est que le fichier info.plist et le dossier Resources n'ont plus besoin de jouer de rôle en ce qui concerne les icônes d'application et les images de lancement. En fait, vous pouvez supprimer la clé CFBundleIconFiles du fichier info.plist et cela ne fera aucune différence pour votre projet.

Voici les étapes à suivre:

  1. Faites une copie de vos icônes d'application et lancez des images et stockez-les dans un emplacement séparé.
  2. Pour un démarrage propre, supprimez les références aux icônes d'applications et lancez les images à partir de info.plist, ce qui signifie supprimer les valeurs sous la clé CFBundleIconFiles.
  3. Supprimez les icônes d'application et lancez les images à partir du dossier Ressources.
  4. Utilisez l'option de suppression pour supprimer tous les «actifs» ou «médias» que vous avez déclarés sous «Catalogues d'actifs».
  5. Un dossier du nom Assets.xcassets ou Media.xcassets (ou des dossiers .xcassets de nom similaire) peut toujours être présent dans votre projet. Ils seraient soit à l'extérieur, soit à l'intérieur du dossier Resources. Supprimez tous les dossiers .xcassets.
  6. Ouvrez maintenant votre fichier de projet dans un éditeur comme le bloc-notes (par exemple .csproj dans Visual Studio) et voyez s'il existe des références pointant vers des fichiers dans le dossier .xcassets. Supprimez toutes ces références. Vérifiez également qu'il n'y a pas de références pointant vers des icônes d'application ou lancez des images sous le dossier Ressources de ce fichier et supprimez-les également.
  7. Vérifiez que les clés XSAppIconAssets et XSLaunchImageAssets ne sont plus présentes dans info.plist. Supprimez-les s'ils sont toujours présents.
  8. À ce stade, vous avez supprimé tous les fichiers ou références précédents à vos icônes d'application et lancez les images de votre projet. S'ils sont toujours présents, veuillez revenir en arrière et les supprimer. Maintenant, pour recommencer, créez un nouveau «Asset» ou «Media» sous «Asset Catalogs» qui crée un dossier .xcassets dans votre projet. Copiez les icônes de votre application (et lancez les images si nécessaire) de l'étape 1 dans les dossiers respectifs sous votre nouveau dossier .xcassets. Assurez-vous que toutes les images requises sont incluses.
  9. Vérifiez que info.plist contient désormais des valeurs de clé XSAppIconAssets (et XSLaunchImageAssets si nécessaire) pour le nouvel «actif» que vous avez créé. Votre fichier de projet (qui est .csproj dans Visual Studio) doit maintenant contenir des références à chaque image que vous avez ajoutée à votre nouvel «élément». Il n'y a pas besoin d'images supplémentaires que celles requises par le projet. Je suggérerais de supprimer toutes les images supplémentaires de vos actifs.
  10. Si vous avez ajouté une clé nommée CFBundleIconName comme mentionné dans d'autres solutions, supprimez cette clé de info.plist. Ce n'est pas obligatoire. Vous êtes maintenant prêt à soumettre votre application au magasin.
Omair
la source
1

Pas besoin de modifier info.plist. Les erreurs liées aux icônes seraient résolues en remplissant tous les espaces réservés pour les images pour AppIcon dans images.xcassets .

Zeeawan
la source
1

Un problème est survenu avec Visual Studio 17 (v-15.2) une fois que vous l'avez mis à jour version> 15.2, vous verrez un espace réservé App-Icon-1024x1024 dans AssetCatalog> Media> AppIcons

entrez la description de l'image ici

ZygoteInit
la source
Pouvez-vous donner un peu de contexte? Je ne sais pas pourquoi les versions de Visual Studio sont liées à ce sujet ...
benc
1

Chaque développeur d'application utilise le fameux "Icon Dog"

(c'est dommage qu'ils aient changé le nom!)

entrez la description de l'image ici

https://itunes.apple.com/us/app/app-icon-set-creator/id1052532083?mt=12

C'est de loin l'application la plus populaire utilisée par les développeurs iOS, une sorte de culte.

Il résout immédiatement tous les problèmes.

Fattie
la source
1

Dans ma situation; après avoir fait toutes ces choses dans cette page, n'oubliez pas d'archiver à nouveau votre projet :)

Emre Sarıçiçek
la source
0

Pour Xcode 9.2 pour les applications iOS 11, quelques points doivent être clarifiés.

1- Cette erreur doit provenir de l'absence d'actifs icône dans un catalogue d'actifs.

(Vous avez cette erreur en soumettant une application sans catalogue d'actifs).

2- Cette erreur est résolue en ajoutant un catalogue d'actifs avec les icônes requises.

(Dans mon cas, c'était une application pour iPhone uniquement, et j'ai ajouté des images d'espace réservé 120x et 180x).

3- Cette erreur n'est pas liée à la "Icône App Store" 1024x1024

(Lorsque vous oubliez l'icône du plus grand magasin, une erreur spécifique distincte s'affichera, pas cette erreur).

4- Contrairement à la documentation Apple, même avec (Xcode 9 + écrit pour iOS 11), vous pouvez également utiliser le site Web pour soumettre l'icône App Store.

(L'erreur spécifique distincte mentionnée ci-dessus est déclenchée par l' absence d' icône, et non par l'absence de l'icône dans la version soumise).

5- CFBundleIconName manquant dans Info.plist n'a pas été modifié.

benc
la source
quelle est la différence entre le manque et l'absence? peux-tu expliquer?
dFlat
Si vous avez déjà soumis une icône à l'entrée du magasin, soumettre une application sans l'icône dans la version fonctionnera ...
benc
0

J'ai également eu beaucoup de problèmes à ce sujet - j'obtenais constamment l'erreur avec le CFBundleIconName manquant et que mes icônes n'étaient pas trouvées. Alors voici mon histoire, peut-être sera-ce utile pour quelqu'un. À propos, j'utilise Visual Studio avec Xamarin.

  1. Ajoutez un catalogue d'actifs à votre projet avec AppIcons (le nom réel de l'actif n'est pas important, mais uniquement pour les icônes d'application). Ajoutez toutes les tailles d'icônes nécessaires. Pour l'icône 'App Store', j'ai ajouté une icône sans @ dans le nom comme quelqu'un dans les forums suggéré, mais je ne suis pas sûr, si c'est 100% nécessaire. Pour générer les différentes tailles d'icônes, il existe de nombreux sites Web et outils qui peuvent le faire pour vous et il vous suffit de fournir celui de 1024x1024. Ils généreront le reste.

  2. Dans le fichier Info.plist sous «Visual Assets», puis «App Icons», définissez la source sur l'actif que vous venez de créer.

  3. Vérifiez maintenant votre Info.plist. Ne l'ouvrez pas avec un éditeur externe , car toutes vos modifications seront écrasées une fois que vous aurez généré votre projet. Procédez comme suit - cliquez avec le bouton droit de la souris sur Info.plist dans l'Explorateur de solutions, puis sélectionnez Ouvrir avec -> Éditeur de liste générique.

  4. Vérifiez que vous disposez des entrées suivantes:

    -Property = CFBundleIconName, Type = Chaîne. Valeur = Assets.xcassets / AppIcons.appiconset -Property = XSAppIconAssets, Type = String. Valeur = Assets.xcassets / AppIcons.appiconset

  5. Notez que Visual Studio ajoute automatiquement, lorsqu'il ajoute quelque chose au total, «Resources / Assets.xcassets / AppIcons.appiconset» comme valeur. Mais dans mon cas, le catalogue d'actifs a été créé en dehors du dossier Ressources et, par conséquent, mes icônes n'ont pas été trouvées. Alors, vérifiez où votre dossier de ressources a été créé.

  6. CFBundleIconFiles n'était pas nécessaire, car Apple utilise maintenant le catalogue d'actifs.

J'espère que j'ai été d'une certaine aide :)

Sonia
la source
0

J'ai utilisé la réponse de @Omair et c'est parfait, cependant, je recevais alors des erreurs indiquant que diverses icônes n'étaient pas trouvées. Le problème était un bogue avec VS2017 lors de la création d'un catalogue d'actifs. Lors de l'ajout d'un nouveau catalogue d'actifs, le dossier de catalogue est créé sous la racine du projet, et non sous / resources. Cependant, l'entrée dans info.plist a le chemin d'accès sous / resources. Une fois que j'ai supprimé / resources du chemin d'accès à mon catalogue d'actifs, tout a bien fonctionné. J'espère que cela aide quelqu'un!

Mark Erickson
la source
0

Je répondrai dans le cadre de Xamarin pour résoudre ce problème - qui est similaire mais pas identique à Xcode. Utilisation de la communauté VisualStudio (16.6 Windows / 8.6.1 macOS) avec Xcode 11 installé sur macOS

L'ajout de CFBundleIconName dans Info.plist ne sert à rien, cette clé n'est plus utilisée de nos jours (pour les builds ciblant iOS 11 et supérieur, seul Assets.xcassets est utilisé - il peut également s'agir de Media.xcassets, vous choisissez ce que vous voulez, mais je vais le référencer comme Assets.xcassets).

Mon problème était: même si c'était visuellement agréable dans la vue Assets.xcassets, les images n'étaient pas correctes. Dès que j'ai essayé de les réactiver manuellement, j'ai eu une erreur de format.

Xamarin gère, eh bien ... disons de manière confuse les Asset.xcassets dans le fichier .csproj. Parfois, il ne suffit pas de référencer le fichier Contents.json pour décrire tous les actifs, vous devez également importer chaque fichier pour qu'il puisse fonctionner sur PC, mais pas sur Mac et vice-versa. Il y a de l'espace pour améliorer la gestion des actifs entre Visual Studio PC, Visual Studio Mac et Xcode.

J'ai recréé toutes les icônes et les ai insérées une par une dans la vue Assets.xcassets à la main.

Bien sûr, en plus, Info.plist, vous devez avoir la clé suivante:

<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>

Ensuite, j'ai tout reconstruit et voilà, ça a marché.

Astuce pour voir si les icônes sont générées correctement avant de télécharger sur AppStoreConnect est de déployer sur le simulateur, ou, dans l'outil Xcode-> Organizer pour vérifier si l'IPA a la bonne icône. Sinon, c'est dev "no icon", et ça ne va pas.

De plus, certains sites Web pour la génération d'icônes d'application ne contiennent pas tout ce dont j'avais besoin. Enfin, j'ai utilisé celui-ci pour des tests rapides (mais je préfère l'outil local - voir ci-dessus): https://www.iconsgenerator.com/Home/AppIcons

En outre, comme vous pourriez avoir des problèmes de téléchargement sans Launchimage (lié au storyboard, et également stocké dans Asset.xcassets, il existe une merveilleuse application permettant à la fois la génération d'icônes d'application et d'images de lancement: https://github.com/raphaelhanneken/iconizer

Graveen
la source
0

Dans mon cas, le problème était que j'avais une image PNG pour l'icône marketing de l'App Store (1024x),

Vous devez utiliser jpeg, image non transparente pour cette icône App Store (1024x), et le problème a disparu.

mahen3d
la source
0

Rien ci-dessus n'a fonctionné pour moi. J'avais besoin de supprimer la valeur pour Development Assetsdes paramètres de construction.

Borut Tomazin
la source