web-dev-qa-db-fra.com

Comment intégrer l'écran de démarrage pour tous les types d'iPhones dans Xcode 6.1?

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:

enter image description here

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.

34
Developer

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:

enter image description here

lorsque vous tapez sur la petite flèche droite près de launchImage (->), vous pouvez voir la fenêtre suivante:

enter image description here

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:

enter image description here

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:

enter image description here

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:

  • Ajouter une ligne en tapant (+), elle s'appelle UILaunchImages

enter image description here

  • et vous devez remplir cette ligne comme suit

enter image description here

c’est inutile de faire quelque chose d’espérer que cette réponse aide aussi les autres.

69
Nitin Gohel

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. /Users/patrickweigel/Desktop/Screen Shot 2015-07-06 at 10.20.36 AM.png

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 "+". enter image description here

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. enter image description here

Lancer les images Corriger la taille enter image description here '* Pas de barre d'état

36
Patrick Weigel

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 enter image description here

Pour iOS 8 devices vous avez deux façons ..

  1. Vous pouvez simplement utiliser LaunchScreen.xibenter image description here cette image montre comment Xcode par défaut définit LaunchScreen.xib pour le fichier d'écran de lancement iOS 8.

    1. Si vous ne voulez pas définir 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.xcassetsenter image description here
30
Suryakant Sharma

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é .

4
Dhiraj Gupta