web-dev-qa-db-fra.com

l'icône de l'application iPhone ios11 est manquante sur l'iPad

J'ai une application pour iPhone uniquement, mais cela fonctionne également en mode de compatibilité sur l'iPad (pas de surprises). 

mais après avoir mis à jour l'application pour ios11, l'icône de l'application sur l'iPad est manquante. 

voici ce que j'ai essayé; - lancer sur le simulateur iPhone, l'icône apparaît - lancer sur le simulateur iPad, l'icône est manquante

changez les options de l'appareil de "iphone" à "universel", exécutez le simulateur iPad, l'icône apparaît, mais l'application nécessite un nouvel iPad pour l'interface utilisateur.

revenez à "iPhone" et l'icône de l'application est de nouveau manquante dans l'iPad. vraiment déroutant. 

J'ai essayé de créer un nouveau projet et d'apporter les mêmes modifications, mais je n'ai jamais réussi à faire disparaître l'icône. 

J'utilise des cosses de cacao si cela a du sens. 

Je pense qu'il me manque un paramètre ou quelque chose d'autre, j'essaie vraiment de le trouver, tout conseil serait grandement apprécié.

12
karpat

J'ai trouvé le problème. 

Dans info.plist, il y avait une entrée supplémentaire ou problématique . - CFBundleIcons ~ ipad 

Supprimez cette ligne et les icônes iPad apparaissent normalement. 

39
karpat

Ce problème a été signalé par de nombreux utilisateurs au cours des 6 derniers mois (y compris des appels désespérés à Apple pour résoudre ce problème), mais personne n'a signalé la solution suivante.

J'utilise Xcode 9.2 et je constate aujourd'hui que l'application de mon iPad/iPhone fonctionnera correctement sur mon iPad (iOS v11.2.1), mais l'icône manque.

Ceci est une application héritée, âgée d'environ 2-3 ans, et la cause semble être mon fichier Appicon. Quand je regarde ce fichier, je vois ceci:

 Before

Auparavant, cette ressource était suffisante pour fournir l'icône de l'application pour iPad et iPhone, mais apparemment plus maintenant.

Je suis entré dans mon fichier (Images.xcassets}, cliqué avec le bouton droit de la souris et sélectionné "icônes de l'application et lancement des images\nouvelle IOS icône de l'application}" et je regarde maintenant le possibilités supplémentaires d'icône:

 After

Remarquez les icônes supplémentaires pour iPad.

Effectivement, j’ai créé encore plus de fichiers .png, avec des résolutions correspondant aux paramètres de résolution iPad souhaités, et maintenant, lorsque je construis mon application et que je l’exécute sur l’iPad, il affiche la bonne icône.

Oh, et j'avais également besoin d'entrer dans les paramètres de construction de mon projet, de sélectionner l'onglet "Général" et de remplacer le "Source des icônes d'application" par le nom de mon nouveau jeu d'images, "AppIconNew".

Et voilà. Pas de déconner avec Cocoapods, pas besoin de changer le fichier .plist (le mien n'avait pas cette entrée "CFBundleIcons ~ ipad" de toute façon), j'avais juste besoin de créer un nouveau jeu d'images.

OK, il est temps de revenir à mon monde moderne et confortable d'utilisation de Visual Studio.
(Joyeux soupir ..)

3
Mike Gledhill

J'ai eu quelques applications héritées qui avaient le CFBundleIcons~ipad dans l'Info.plist, donc je vérifie cela en premier. Cependant, j'ai également eu des cas où il manquait tout simplement l'actif, comme l'a mentionné Mike Gledhill. Si tel est le cas, vous n'avez pas besoin d'ajouter un nouvel ensemble AppIcon. Il suffit de cocher la case iPad dans l'inspecteur d'attributs pour les actifs AppIcon actuels et les tailles d'iPad s'afficheront dans l'ensemble actuel. Ensuite, ajoutez simplement les actifs appropriés pour chaque taille requise.

 Attribute Inspector

1
FromTheStix

Je n'avais pas d'entrée CFBundleIcons~ipad dans mon fichier Info.plist, comme indiqué dans la réponse de "karpat". Alors je suis passé à la réponse de "Mike Gledhill", puis après avoir observé toutes mes icônes de Image assests, j’ai trouvé que pour une icône particulière qui était invisible uniquement sur iPad, le type de périphérique défini était iPhone.

 enter image description here

Je viens de changer le type de périphérique par un clic droit sur l'image définie sur Universal:

 enter image description here

Cela a fonctionné pour moi.

0
Nilesh Pol