Je dois créer une application qui fonctionnera sur iPhone 4S, 5,5S, 6, 6+ et la cible de déploiement sera iOS 7.1. J'ai vu Apple introduit LeuchScreens.xib pour la création de l'écran de lancement (écran d'accueil) et il existe également une image dans laquelle je peux fournir les écrans de lancement d'images. Voir l'image ci-dessous:
Ma question est donc la suivante: comment utiliser l'écran de démarrage pour tous les iPhones? Ou devrais-je dire, quel est le moyen standard de le faire lorsque j'utilise Xcode 6?
J'ai cherché les réponses et lu des blogs et les documents d'Apple, mais je n'ai rien trouvé. Tout chantait sa propre chanson mais pas la réponse.
Dans Xcode6 pour tous les écrans de démarrage des périphériques, vous devez créer une image de démarrage pour chaque taille de périphérique rétine et non rétine.
La meilleure façon de le faire est d’utiliser le catalogue d’actifs de la cible -> général, comme dans la capture d’écran suivante:
lorsque vous tapez sur la petite flèche droite près de launchImage (->), vous pouvez voir la fenêtre suivante:
Actuellement, il est vide car aucune cible n'est sélectionnée dans le côté droit. Par conséquent, si votre cible de déploiement est 6.0, vous devez cocher la case comme pour la capture d'écran suivante afin de pouvoir afficher la zone nécessaire à toutes les images:
Si vous ajoutez une mauvaise image de dimension dans le catalogue, vous pouvez obtenir un avertissement dans le coin supérieur droit. Lorsque vous appuyez sur cet avertissement, vous pouvez obtenir une cote. voir la capture d'écran suivante pour:
Ainsi, à partir du journal d’avertissement, vous pouvez savoir quelle image de dimension a besoin de quel écran de démarrage.
Autre moyen
Pas besoin d'utiliser Asses Catalog et pas besoin d'utiliser LaunchScreen.xib vous pouvez toujours utiliser l'ancienne méthode:
créer une image d’écran de démarrage avec la taille suivante:
Default-568h.png 320 x 568
[email protected] 640 x 1136
[email protected] 750 x 1334
[email protected] 1242 x 2208
Default.png 320 x 480
[email protected] 640 x 960
Maintenant, dans la pliste, vous devez ajouter les données suivantes:
UILaunchImages
c’est inutile de faire quelque chose d’espérer que cette réponse aide aussi les autres.
Dans Xcode 6.4, à compter du 2015-07-06 (aaaa-mm-jj), j'ai utilisé les images de lancement plutôt qu'un fichier d'écran de lancement (.xib). Ceci vise iOS 7.1+.
Tout d’abord, supprimez l’entrée de la liste déroulante Fichier écran de lancement. Laissez ce champ vide. Si cela pointe vers un fichier .xib, il remplacera la source d'images de lancement. Voici la configuration dans Target/General/App Icons et Launch Images.
Deuxièmement, créez une nouvelle image de lancement (PAS un nouveau jeu d’images) après avoir sélectionné le "+" au bas du volet central dans Images.xcassets. Voici le pop-up après avoir sélectionné le "+".
Troisièmement, dans la nouvelle image de lancement, il y aura 20 carrés, chacun demandant un fichier .png. Vous devez maintenant créer 20 fichiers .png de la taille correcte. J'ai utilisé Pixelmator et exporté chaque fichier au format .png. Mais quelle est la "taille correcte"? Voir ci-dessous.
Lancer les images Corriger la taille '* Pas de barre d'état
Je joue de temps en temps autour de Xcode 6 et ce que j’ai trouvé c’est LaunchScreen.xib
fonctionne pour iOS 8
seulement, alors si vous voulez fournir une image de lancement pour tous vos appareils, votre application vous aide à faire comme ci-dessous.
Pour Appareil utilisant iOS 7 vous pouvez faire comme d'habitude, comme nous le faisions auparavant avec images.xcassets
Pour iOS 8 devices vous avez deux façons ..
Vous pouvez simplement utiliser LaunchScreen.xib
. cette image montre comment Xcode par défaut définit LaunchScreen.xib
pour le fichier d'écran de lancement iOS 8.
LaunchScreen.xib
en tant que fichier d’écran de lancement et que vous souhaitez afficher une image de lancement comme vous le souhaitez sur un appareil iOS 7, il vous suffit donc de supprimer le nom du fichier de l’écran de lancement, de le supprimer (voir l’image ci-dessous) et de supprimer LaunchScreen.xib
fichier de Xcode
. Dans ce cas, l'appareil iOS 8 prend également l'image de lancement à partir d'images de lancement de images.xcassets
. La nouvelle manière de créer des écrans de démarrage pour iOS 8 est de définir un LaunchScreen.xib
fichier. Ceci est également disponible en tant que nouveau type de fichier de ressources dans XCode 6.
Cette nouvelle XIB utilisera AutoLayout et les nouvelles classes de taille pour déterminer comment vous souhaitez mettre en page votre écran de démarrage.
Il n'est pas très clair comment la compatibilité ascendante fonctionnera si vous souhaitez prendre en charge des appareils plus anciens. Je suppose que cela ne fonctionnera pas .
Vous pouvez définir le fichier launch.xib dans le premier écran des propriétés de la cible de votre projet XCode.
Si vous souhaitez utiliser l'ancienne méthode , vous pouvez toujours définir les PNG splash à utiliser comme images de lancement, qui restent entièrement pris en charge. D'après ce que je vois, c'est toujours le seul moyen d'aller si vous souhaitez prendre en charge les anciennes versions iOS.
Notez que si vous souhaitez prendre en charge les nouvelles résolutions de l'iPhone 6/6 Plus, alors vous devez vous définissez soit un fichier xib de lancement, soit vous placez les fichiers PNG correctement dimensionnés dans votre catalogue d'actifs, ou bien vous obtiendrez une interface utilisateur automatique floue que les anciennes applications obtiennent en mode de compatibilité .