Je souhaite afficher un écran de lancement simple dans mon application, créé à l'aide de Xcode 6.0.1.
J'ai ajouté un écran de lancement de deux manières: en tant que XIB (avec le nom par défaut, LaunchScreen.xib) et en tant qu'image de lancement définie dans xcassets.
Je me suis assuré que mon "fichier écran de lancement" est défini sur LaunchScreen.xib.
J'ai simulé tous les appareils disponibles (par exemple, «iPhone5 iOS8» / «iPhone5s iOS8» / «iPhone6 iOS8». Notez que seul iOS 8 est disponible dans le simulateur).
ios8
xcode6
xcasset
launchimage
Eddie Hartman
la source
la source
Réponses:
Cela a donc été assez douloureux pour quelque chose qui devrait être trivial. Voici ce que j'ai fait:
Utilisez xcassets
J'ai décidé d'utiliser .xcassets contre .xib pour le lancement. J'ai supprimé le .xib. Si vous avez déjà images.xcassets dans votre projet, c'est parfait, sinon vous pouvez en ajouter un à partir de Fichier> Nouveau> fichier:
Créer un ensemble d'images de lancement
Créez maintenant au minimum un jeu d'images de lancement et un jeu d'icônes dans votre fichier .xcassets en faisant un clic droit dans la zone du navigateur.
Mettre à jour les icônes de l'application et lancer les paramètres des images
Ensuite, je me suis assuré que les «jeux d'icônes et d'images d'applications» dans ma cible sont comme ci-dessous.
Très important: assurez-vous que le paramètre «Lancer le fichier écran» est vide.
Ajouter les images
Enfin, la terminologie utilisée par Apple pour la sélection des appareils prête à confusion. Au départ, je pensais que puisque je déploie uniquement pour iOS8 (iPhone Portrait), je peux le faire et simplement insérer les images de lancement de l'iPhone 6 et de l'iPhone 6+:
Je me suis vite rendu compte que ce n'était pas ainsi que cela fonctionnait et je recevais un avertissement: "Une image de lancement iPhone Retina (4 pouces) pour iOS 7.0 et versions ultérieures est nécessaire."
J'ai donc dû sélectionner l'iPhone sous iOS 7.0 et les versions ultérieures et ajouter une image pour l'iPhone 5s.
Donc, pour savoir quelles cases cocher à droite, ne posez pas la question: Quel est mon iOS minimum et l'orientation de l'appareil et de l'appareil mais demandez plutôt:
Quels appareils peuvent prendre en charge mon iOS minimum? Maintenant, quel est le minimum iOS pris en charge sur ces appareils? Et assurez-vous de cocher toutes ces cases. Donc, pour moi, je cible l'iPhone 5s, 6 et 6 Plus à 8.0, mais étant donné que l'iPhone 5s peut exister avec 7.0, je dois également cocher la case 7.0 pour afficher l'espace réservé de l'image. En d'autres termes, la case à cocher (iOS) à droite vous indique la version minimale d'iOS disponible pour cet appareil et vous devez cliquer dessus pour afficher l'espace réservé pour l'image et placer une image, que vous déployez ou non avec cette version iOS. .
J'espère que cela aide quelqu'un.
la source
La
LaunchScreen.xib
et la valeur infoLaunch screen interface file base name
proviennent de mon expérience, les deux espaces réservés qui sont créés lors de la création du projet. Si vous souhaitez utiliserImages.xcassets
exclusivement pour vos écrans de lancement, supprimez à la foisLaunchScreen.xib
l'info.plist
élément et l' élément.Si vous fournissez le
info.plist
paramètre, votre application utilisera lexib
et non votreImages.xcassets
la source
Xcode 8:
Les images utilisées dans LaunchScreen.xib ne doivent pas être sur un .xcassets, essayez de les déposer dans le bundle.
On dirait qu'au moment où le .xib est chargé, les images du .xcassets ne sont pas encore disponibles.
EDIT: Pour une raison opaque après avoir ajouté quelques localisations, l'écran de lancement a cessé de fonctionner, maintenant il fonctionne avec une image des actifs, extrêmement bizarre.
la source
/Library/Caches/Snapshots/<<app_bundle>>/
terminé avant le chargement des fichiers de support, y compris les polices personnalisées et le catalogue d'actifs.Ma solution était de créer toutes les images de lancement.
Ensuite, j'ai défini la source d'images de lancement sur l'actif LaunchImage et laissez le fichier d'écran de lancement vide.
Enfin, si le projet n'a pas de Launch Screen.xib, ajoutez ce fichier et laissez-le tel quel.
la source
Pour moi, cela a fonctionné lorsque j'ai désinstallé l'application, puis redémarré le simulateur. Une fois installée à nouveau, l'image de lancement est apparue comme prévu. Cela a également fonctionné sur un appareil réel.
la source
Pour les personnes qui utilisent le
Asset Catalog's Launch Image
, comme je l'ai appris de la manière la plus difficile, j'ai eu ce scénario dans lequel on m'a d'abord donné unjpg
fichier, puis je leur ai demandé de le convertir enPNG
.Je leur ai fait suffisamment confiance pour avoir parcouru Internet en premier pour savoir pourquoi l'image de lancement ne s'affichait pas et j'ai fait toutes les solutions en vain, puis j'ai essayé de remettre l'ancienne image de lancement et cela fonctionnait bien, c'est là que j'ai pensé ce que je have n'est pas un
PNG
fichier approprié .TL; DR: Assurez-vous que vous utilisez réellement un fichier PNG approprié, pas un fichier avec une extension renommée.
la source
La suppression du "nom de base du fichier d'interface de l'écran de lancement" du fichier Info.plist ET la suppression de "Launch Screen.xib" a fonctionné pour moi.
la source
Le simple fait de supprimer et de réinstaller l'application a fonctionné pour moi:
Test dans le simulateur
Test sur l'appareil
la source
Le problème avec la réponse acceptée est que si vous ne définissez pas le fichier d'écran de lancement, votre application sera en mode de mise à l'échelle sur des appareils tels que l'iPhone 6 & 6+ => rendu flou.
Voici ce que j'ai fait pour avoir une solution de travail complète (je cible iOS 7.1 et j'utilise Xcode 8) sur chaque appareil (vraiment, je devenais fou de ce problème de mise à l'échelle)
1. Préparez vos .xcassets
Pour simplifier, j'utilise un fichier vectoriel .PDF. C'est très pratique et évitez de créer plusieurs images pour chaque résolution (1x, 2x, 3x ...). Je suppose également ici que vous avez déjà créé vos xcassets.
2. Créez votre fichier d'écran de lancement
3. Ajoutez votre image à votre fichier d'écran de lancement
4. Ajoutez votre fichier d'écran de lancement à votre cible
Enfin, dans les propriétés générales de votre cible, reportez-vous au fichier Écran de lancement.
Démarrez votre application et votre écran de démarrage devrait s'afficher. Essayez également sur iPhone6 et iPhone6 +, et votre application devrait être correctement affichée sans aucune mise à l'échelle (le fichier de l'écran de lancement vise à le faire).
la source
Après plusieurs heures frustrées à ce sujet, j'ai décidé d'utiliser cette voie. Cela fonctionne pour iPhone et iPad (sur Xcode 6.1)
1 image vaut plus de mille mots. Veuillez regarder ci-dessous:
la source
J'ai lu un bug dans Xcode 6 qui empêche les applications en mode paysage d'afficher une image de lancement.
Essayez de définir les images et l'orientation dans Images.xcassets:
la source
Il y a un bogue où les images de lancement Xcode 6 stockées dans les fichiers d'actifs font que les applications iPhone Landscape uniquement sur iOS7 / iOS8 affichent une image de lancement noire. L'iPad fonctionne très bien.
http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868
Solution: utilisez le nouveau Launchscreen.xib à partir d'ios8 +. (c'est bien mieux)
Pour que les appareils ios7 fonctionnent, il vous suffit de désactiver la source des images de lancement et d'utiliser les noms de fichiers d'images de lancement à l'ancienne dans le plist.
Douloureux mais fonctionne. B
la source
J'ai tout essayé mais la solution était extrêmement simple. Utilisez simplement le fichier .jpg au lieu de .png sur votre LaunchScreen.storyboard. Il semble qu'iOS ne rend pas le fichier .png ou la taille d'image relativement grande à l'écran de lancement.
la source
Faites ce que Spectravideo328 a répondu et:
Essayez de DÉCHARGER la boîte iOS 7 et version ultérieure et VÉRIFIEZ la boîte iOS 6 et antérieure dans le catalogue d'actifs. Il semble y avoir un bogue avec l'image de lancement d'iOS 7. (Ces deux ont les mêmes images de lancement à l'exception de la 320x480)
J'espère que cela aide, cela m'a aidé!
la source
J'ai configuré "LaunchImage" dans mon catalogue d'actifs et j'ai simplement effacé le champ "Écran de lancement" et le tour est joué! J'ai fait apparaître les images de lancement ...
la source
Une méthode consiste également à ajouter «Écran de lancement» (
LaunchScreen.xib
), à coller l'image dansUIImageView
, puis à la définir sur « Centre horizontal dans le conteneur » et « Centre vertical dans le conteneur » dans «Aligner» si vous utilisez la mise en page automatique.Écran: http://i.stack.imgur.com/CfnHT.png
N'oubliez pas de mettre
LaunchScreen.xib
dans "Launch Screen File".la source
J'ai eu le même problème après avoir commencé à utiliser Xcode 6.1 et changé les images de mon lanceur. J'avais toutes les images dans un catalogue d'actifs. Je n'obtiendrais qu'un écran noir au lieu de l'image statique attendue. Après avoir essayé tant de choses, j'ai réalisé que le problème était que le catalogue d'actifs avait coché le projet «Adhésion cible» dans sa vue FileInspector. Le cocher sur ON a fait la magie et l'image a commencé à apparaître au lancement de l'application.
la source
Je vous suggère de sélectionner Lancer la source d'image comme Image.Assets. Créez des actifs d'image de démarrage dans le dossier Image.assests.
Image de référence pour la bonne configuration:
la source
J'ai essayé d'ouvrir un nouveau projet et de suivre les mêmes étapes que pour définir un écran de lancement.
Par défaut, le .xib était défini comme "Launch Screen File", et l'écran blanc avec une étiquette s'affichait pendant une demi-seconde dans le simulateur.
J'ai ensuite un "Launch Images Source" et le définir sur les Images.xcassets qui ont généré avec les images de fond que j'ai ajoutées au projet. (tout va bien jusqu'à présent)
Relancez le simulateur et les images de lancement ne s'affichent pas ...
Après avoir supprimé le "fichier d'écran de lancement" spécifié et un nettoyage: Produit -> Nettoyer, dans le menu du haut, les images de lancement apparaissent enfin.
Peut-être que cela aidera?
la source
Un fichier «LaunchScreen.xib» est automatiquement ajouté à votre projet. La suppression de ce fichier déplacera xCode vers l'utilisation de vos images par défaut dans Images.xcassets
modifié pour ajouter aller aux icônes d'application et lancer les images de l'écran de lancement Le fichier doit être vide / vide
la source
J'ai eu un bug très étrange. Apparemment, ma source d'image de lancement n'a été définie que pour la configuration de débogage et non pour la libération. Cela a abouti à l'apparition de mon écran de lancement lors de l'exécution de la configuration de débogage, mais lorsque je suis passé à la version, j'ai juste un écran noir.
J'ai corrigé ce problème lorsque j'ai modifié ma configuration de construction pour libérer le bouton Lancer la source d'image et que j'ai dû choisir à nouveau Utiliser le catalogue d'actifs.
Pour ceux qui sont curieux, voici à quoi ressemblait mon project.pbxproj.
la source
Pour une raison quelconque, j'ai dû changer l'emplacement du catalogue d'actifs en «relatif au projet» pour que cela fonctionne.
J'avais également supprimé l'application de mon téléphone et réinstallée, mais c'était probablement le "relatif au projet" qui l'a fait.
la source
* (Xcode 7.2 / Cible de déploiement 7.0 / Orientation paysage uniquement) *
Je sais que c'est une vieille question, mais avec Xcode 7.2, je reçois toujours le message et j'ai résolu ceci:
1) Sélectionnez PORTRAIT et les deux paysages. Ajouter "Launch Images Source" et "Launch Screen File"
2) Dans votre image de lancement, sélectionnez iPhone "8.0 et versions ultérieures" et "7.0 et versions ultérieures".
3) Ajoutez ce code dans votre appDelegate:
4) Ajoutez ceci sur votre ViewController
J'espère aider quelqu'un d'autre.
la source
Cela a fonctionné pour moi. Cliquez sur LaunchScreen.storyboard puis dans le panneau de droite, vous pouvez sélectionner la case à cocher "Is Initial View Controller".
LaunchScreen.storyboard -> Est le contrôleur de vue initiale
la source
Je viens de comprendre cela. Mon image de lancement n'apparaissait pas, j'obtiens un écran blanc lors du lancement sur un appareil (iPhone 6, 7+) ou testFlight. Correction: renommé "Landing_screen.png" en "Landing_screen" supprimant la partie .png. L'icône d'image dans Xcode est devenue une icône blanche et dans le storyboard de l'écran de lancement, l'image apparaît maintenant comme un point d'interrogation. L'image de lancement apparaît maintenant et non l'écran blanc. Ma configuration: j'utilise Swift 3.1 avec Xcode 8.3.1. Dans LaunchScreen.storyboard, j'ai ajouté une vue d'image simple et étiré l'image pour l'adapter au contrôleur de vue. J'ai défini les contraintes de mise en page automatique Haut / Bas / Début / Fin pour superview sur 0.
la source
Si vous avez modifié votre image de lancement à partir d'une image précédente, et observez ce qui suit:
Cela est probablement dû à la mise en cache de l'image de lancement effectuée par iOS. Le redémarrage de l'appareil devrait résoudre le problème.
la source
J'ai rencontré ce bug également avec mon application en mode paysage. Suite à la solution de carlodurso fonctionne:
la source
Pour moi, cela fonctionne lorsque je le supprime
LaunchScreen.xib
et le change en fichier de storyboardLaunchScreen.storyboard
.la source