web-dev-qa-db-fra.com

Comment mettre à jour les icônes de l'application et lancer des images pour prendre en charge IOS 6 et 7 simultanément?

J'ai été empêché de trouver comment libérer une application de Xcode5 qui prend en charge IOS7 ET IOS 6+ dans la même version, avec des actifs (icônes et écrans de démarrage) qui se chargent correctement pour les deux, ET toujours rendre les ressources pour IOS 6 correctement. Le blocage principal que j'essayais de faire IOS 6 rendait toujours les icônes sans ombrage ni surbrillance depuis le option "pré-rendu" n'est même plus disponible dans l'interface graphique de Xcode 5. Avez-vous des idées pour que tout le contenu et l'icône s'affichent correctement ET prennent en charge plusieurs versions de système d'exploitation?

Andrew

38
AndyBean

Apple a directives claires sur les exigences pour IOS 7 applications mais même alors, je suis tombé sur des erreurs en faisant une seule application prendre en charge plusieurs versions de système d'exploitation. Après l'avoir fait fonctionner, je pensais que je soulignerais quelques domaines qui étaient des blocages pour moi afin d'aider les autres à l'avenir.

J'ai d'abord mis à jour l'ensemble de mon application pour prendre en charge IOS 7 proprement, puis je suis retourné et j'ai activé les versions précédentes, mais ce processus n'est pas nécessaire.

Assurez-vous tout d'abord de définir la bonne cible de déploiementdeployment target

Une fois que vous avez défini la cible de déploiement, Xcode5 modifie bien la liste des actifs par défaut dont il a besoin pour prendre en charge les multiples versions du système d'exploitation. Assurez-vous de télécharger à nouveau les versions correctes des icônes aux résolutions et noms de fichiers requis (indiqués ci-dessous pour la prise en charge IOS6-IOS7) Icons, their sizes, and their default filenames in Xcode5 for IOS6 -7 support

Faites de même pour les images de lancement, notez que vous devrez renommer vos images de lancement sous de nouveaux noms, Xcode essaie de le faire pour vous si vous le permettez. Notez les nouvelles tailles ci-dessous, car IOS7 élargit l'arrière-plan de l'image de lancement derrière la barre d'état. Launch images, their names, and sizes required

Enfin, ajoutez manuellement les deux drapeaux .plist ci-dessous et vous devriez être configuré pour que vos icônes s'affichent sur les versions IOS uniformément, sans brillance (l'explication suit)

manually add these entries to your plist  IOS7 dans sa nouvelle planéité supprime le post-traitement que les versions précédentes faisaient où ils ont ajouté un effet de surbrillance et de brillance aux icônes. Cet effet n'est plus effectué pour les applications IOS 7 mais si vous chargez une application à partir de Xcode5 sur IOS 6, il réappliquera l'effet de brillance par défaut. Il s'agit de exaspérant car il n'y a plus d'indicateur GUI "pré-rendu" dans Xcode pour désactiver ce post-traitement. Comme mentionné ci-dessus, vous devez ajouter l'indicateur manuellement au plist de votre application. Dans mon cas, j'ai dû ajouter l'indicateur dans deux emplacements pour forcer IOS 6 pour arrêter l’application de l’effet. Vous pouvez accéder au plist en ouvrant directement le fichier ou en naviguant vers le dans l'aperçu de votre projet. Vous devrez peut-être désinstaller l'application de votre simulateur, puis reconstruire l'application pour forcer le simulateur à perdre le cache de l'ancienne icône.

40
AndyBean

Si vous configurez le catalogue d'actifs, vous pouvez l'ouvrir sélectionner l'image puis aller à l'inspecteur et cocher cette case

Screen shot of xcode 5

29
Kodejack

Utilisez simplement le "catalogue d'actifs" (vous pouvez le sélectionner du général sur votre cible).

Cela créerait un images.xcassets sur votre projet, vous pouvez facilement faire glisser vos conceptions d'icônes pour iOS 7 et iOS 7.

PDATE: Donc, après la sortie officielle d'iOS 7, je peux maintenant écrire ceci:

Sur le catalogue d'actifs lui-même sélectionnez l'ensemble Appicon que vous souhaitez définir comme pré-rendu, allez dans Inspecteur d'attributs et marquez simplement "l'icône iOS est pré-rendue". vous pouvez également y définir bien sûr le système d'exploitation et les périphériques que vous souhaitez prendre en charge (cela créerait toutes les options afin que vous puissiez simplement faire glisser et déposer pour définir).

Une chose importante à noter est que, pour une raison quelconque, si vous utilisez plusieurs cibles et plusieurs ensembles dans ce catalogue, vous devez ajouter manuellement l'appartenance à la cible . Pour ce faire, il vous suffit de marquer le fichier "catalogue d'actifs", accédez à l'inspecteur de fichiers et marquez toutes les cibles où vous souhaitez l'utiliser. Je pense que Apple devrait le faire automatiquement lorsque vous sélectionnez le "catalogue d'actifs" dans les paramètres cibles, mais jusque-là, j'ai décidé de le mentionner ici (cela m'a pris une heure pour comprendre cela).

25
Idan

J'ai vécu cela récemment. Semble par défaut, il montre seulement ce qui suit.

enter image description here

La solution facile consiste à ajouter un nouvel AppIcon

enter image description here

Pour vous donner toutes ces options.

enter image description here

13
DogCoffee

Mon expérience avec ceci:

Lors de la création d'une nouvelle application vide, il créera un catalogue d'actifs "par défaut" pour les icônes d'application/images de lancement qui est incomplet comme indiqué par @Smick.

La partie ennuyeuse de ce nouveau "catalogue" est qu'il ne montre pas les tailles d'image.

Pour contourner le problème, sélectionnez le projet dans le navigateur de projet, et sur le "Général", vous remarquerez 2 zones - Icônes d'application et images de lancement. Ceux-ci pointeront vers un catalogue d'actifs. Vous pouvez le remplacer par "ne pas utiliser le catalogue d'actifs". Après cela, l'interface passera à une liste de fichiers/dimensions.

Cependant, il y a plusieurs problèmes avec cette interface:

  1. Il ne devrait demander que les versions rétine des images (et calculer la normale, ou avoir deux liens, un pour la normale et un autre pour la rétine).
  2. Plusieurs images (celles de lancement) doivent être renommées pour qu'elles fonctionnent (le système le fait pour vous).
  3. Deux images ne peuvent pas être attribuées en raison d'erreurs (iPad Portrait iOS 7 et iPad Landscape iOS 7, les deux en résolution normale) - vous pouvez leur spécifier une image, mais l'image ne restera pas allumée et sera désélectionnée lorsque vous insérerez l'image suivante.
  4. Les dimensions d'image spécifiées sont légèrement différentes de celles indiquées dans les manuels HIG.
  5. J'ai une forte aversion pour la "nouvelle" notation des images avec des points (car elles dépendent de l'appareil et ne sont donc pas exactes).
  6. Si vous ne voulez pas voir iOS 6 réappliquer la "surbrillance/éclairage" sur les icônes, vous devez ajouter une clé dans la liste des applications (chef de projet | projet | info. Là, vous pouvez ajouter une clé "L'icône comprend déjà effets de brillance ". Vous devrez peut-être l'ajouter également sur les icônes iOS 5 si nécessaire.
3
Luis Ferro

Pour Xcode 6

Pour LaunchImage vous devez vous assurer que vous vérifiez iOS 6.0 et iPhone (Portrait) ou iPad précédent // dépend de la configuration de votre projet

Tailles

Default.png (320x480) 
[email protected] (640x960) 
[email protected] (640x1136)

enter image description here

La même chose pour AppIcon

1
Mina Fawzy