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
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éploiement
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)
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.
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)
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.
Si vous configurez le catalogue d'actifs, vous pouvez l'ouvrir sélectionner l'image puis aller à l'inspecteur et cocher cette case
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).
J'ai vécu cela récemment. Semble par défaut, il montre seulement ce qui suit.
La solution facile consiste à ajouter un nouvel AppIcon
Pour vous donner toutes ces options.
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:
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)
La même chose pour AppIcon