web-dev-qa-db-fra.com

Lancer l'image ne s'affiche pas dans l'application iOS (à l'aide de Images.xcassets)

Je ne parviens pas à faire apparaître mon image de lancement dans mon application.

J'ai créé tous les fichiers d'images statiques du fichier Images.xcassets dans un ensemble d'actifs appelé "LaunchImage".

J'ai remarqué que mon projet contient également un fichier LaunchScreen.xib (créé automatiquement par Xcode). 

Ce fichier .xib apparaît lorsque j'exécute l'application sur mon appareil iPhone6. Il n'apparaît pas dans le simulateur pour iPhone4s (ce qui est logique, étant donné que l'écran de lancement de xib est uniquement destiné à iOS 8 +). 

Je souhaite utiliser les images statiques que j'ai créées car elles sont régies par les directives Apple et accompagnées de mon application. Cependant, je n'ai pas eu la moindre chance de le faire apparaître.

J'ai remarqué dans les paramètres du projet qu'il existe une section appelée App Icons and Launch Images. Je vois comment le .xib est connecté par l’option Lancer un fichier d’écran, je suppose. 

Cependant, il existe une option appelée Launch Image Sources. Qu'est-ce que cela fait? 

J'ai trouvé ceci: http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/ . Cependant, cela n’a rien expliqué à propos de l’option Lancer une source d’image. 

Il existe un bouton à côté du Launch Image Sources appelé "Utiliser le catalogue d'actifs". Lorsque je clique dessus, il indique simplement Migrer les images de lancement vers un catalogue d’actifs. Vos images de lancement existantes seront copiées dans un nouvel ensemble d'images. Choisissez un catalogue d’actifs à utiliser:. 

Cela m’embrouille car j’ai déjà créé mon catalogue d’actifs et je ne veux surtout pas qu’il écrase le fichier images.xcassets. Alors, comment puis-je le lier au jeu d'actifs Launch Images que j'ai déjà créé? De plus, à quelles "images de lancement existantes" fait-il référence sera-t-il copié dans un nouvel ensemble d'images?

Je vous remercie!

UPDATE 1

J'ai donc essayé l'option de migration des images et choisi l'option Nouvel ensemble. Cela a entraîné la création d'un nouveau jeu d'images que j'ai supprimé. Cependant, le nom laissé dans la source d’image de lancement était défini sur LaunchImage, qui était en quelque sorte connecté au jeu d’images contenant mes images de lancement. Cela a gâché mon jeu LaunchImage - les images ont été définies sur non assignées. Je les ai supprimés et j'ai fait glisser mes fichiers dans la zone appropriée de l'ensemble d'actifs LaunchImage. Cependant, lorsque je lance l'application, cela ne fonctionne toujours pas. = (Lancer l'image ne s'affiche pas.

J'ai même supprimé les informations qui se trouvaient dans Launch Screen File (mon hypothèse étant le paramètre qui se connecte au fichier .xib). Malgré tout, le fichier .xib apparaît sur mon iPhone6. = ( 

Avez-vous une idée de ce qui passe?

27
Sandy D.

Je l'ai finalement compris!

Dans les paramètres de votre projet, accédez à la section suivante: App Icons and Launch Images

Supprimez les informations contenues dans Launch Screen File si vous ne souhaitez pas utiliser le fichier .xib.

Ensuite, dans Launch Image Source, choisissez de migrer et si vous avez déjà créé votre fichier LaunchImage et y avez ajouté les images. Cliquez ensuite sur le catalogue d'actifs qui s'affiche. Le nom de celui qui contient vos images de lancement.

Cela créera une nouvelle image de lancement 2 dans votre ensemble d'images. Pour utiliser celui que vous avez déjà créé, cliquez sur le menu déroulant en regard de Lancer image source. Et vous devriez voir votre autre ensemble Launch Image. Choisis le. Reconstruisez ensuite votre application et exécutez-la. Vous devriez voir votre image de lancement. =)

J'espère que cela t'aides!

Remarque: les images que vous avez déjà dans le catalogue d'actifs ne seront pas supprimées. Cela créera simplement un nouvel ensemble d'actifs LaunchImage. 

Référence: https://developer.Apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html

43
Sandy D.

J'ai eu ce problème. J'ai testé sur simulateur. J'ai laissé le "fichier d'écran de lancement" vide et j'ai supprimé la ligne concernant le "fichier d'écran de lancement" à l'intérieur du plist. J'ai redémarré Xcode. Rien. Dans mon cas, c'était pas noir, c'était blanc. Xcode 7 cible ios 9.

je lis aussi celui-ci: Launch Image n'apparaît pas dans mon application iOS

L'image de lancement n'apparaît que lorsque i supprime l'application du simulateur et l'exécute à nouveau.

54
pierre

C'est trop important!

devrait être empty! Launch Screen File

 enter image description here

31
SwiftDeveloper

Solution de travail. J'ai économisé mon temps et j'espère que cela sauvera également le vôtre.

  • Assurez-vous que la taille de vos images est conforme aux directives Apple.
  • Assurez-vous que vous ne sélectionnerez qu'une seule option, soit lancer le fichier d'écran ou lancer Image Source. Vous pouvez trouver ces deux options dans les paramètres de construction du projet -> Général

Nettoyer et construire.

Solution recommandée étape par étape: 

  1. Créez des ressources d’image de démarrage (appelées LaunchImage) dans le dossier Image.assests. 
  2. Sélectionnez l’actif LaunchImage dans l’option Lancer la source d’image
  3. Et Effacer le texte dans l'option Fichier de l'écran de démarrage.
  4. Nettoyer et construire.
  5. Ci-dessous, l'image de référence pour une configuration correcte:

 enter image description here

13
iDevAmit

Avait un problème similaire aujourd'hui. J'ai essayé de laisser xCode créer automatiquement l'actif, mais celui-ci était toujours non attribué.

La solution consistait à créer manuellement l'image de lancement dans ImageAsset et à affecter les fichiers à sa résolution respective.

Il semble que xCode ait créé un type différent d’actif Launch Image, de sorte qu’il ne l’a pas reconnu. 

1
Viniciusoh

J'ai eu ce problème dans XCode 9.4.1, causé par le fait que le dossier des ressources n'était pas inclus dans les ressources du paquet . Allez à 'Build Phases' et ouvrez 'Copy Bundle Resources'. Si le groupe .xcassets que vous souhaitez utiliser ne figure pas dans la liste, faites-le simplement glisser depuis le navigateur de fichiers.

Travaillé pour moi ...

1
Gordon

Fermez le simulateur et ouvrez-le à nouveau a fonctionné pour moi

0
DilumN

Je viens de comprendre cela. Mon image de lancement n’apparaissant pas, je reçois un écran blanc lors du lancement sur un appareil (iPhone 6, 7+) ou TestFlight. Correction: renommé "Landing_screen.png" en juste "Landing_screen" supprimant la partie .png. https://stackoverflow.com/a/43592662/3445278

0
Brian

Résolu! J'ai beaucoup essayé. Le problème était que l'image de lancement apparaît dans le simulateur et non dans le périphérique réel. J'ai un Storyboard avec UIImageView dedans. Étrange, c’était que les vieilles images et les images que j’avais récemment ajoutées ne fonctionnaient pas. J'ai d'abord pensé qu'il s'agissait d'un problème d'actifs. Non, j'ai vérifié les profils de couleur et fait beaucoup d'essais avec différents profils: image de gauche, droite de ne pas fonctionner. N'a pas aidé .  enter image description here

Puis j'ai commencé google et trouvé this thread

Principales solutions d'ici:

1) n'a pas aidé pour moi.

Modifiez la propriété de l'image de mon image de lancement à l'aide de l'application Aperçu: [Outils -> Attribuer un profil ... -> Profil ColorSync: <>]

2) aidé

Même supprimer l'application et réinstaller XCode ne fonctionne pas . Cependant, la modification de l'ID de l'ensemble fonctionne. Sans autre changement, le L'identifiant de paquet existant ne montre aucune image, mais le nouvel identifiant de paquet les montre tous correctement. Je le fais comme un travail temporaire, depuis un L'article précédent dans ce fil suggère que l'installation des versions via TestFlight ne rencontre pas le problème.

3) 

J'ai fait trois choses (les deux premières seules ne l'ont pas fait, mais ont peut-être aidé le troisième qui a fonctionné)
1) Copié toutes les images dans le répertoire racine (même emplacement que Xcode met les images)
2) Créer un dossier dans Images.xcassets et y placer les images.
3) Les images du fichier launchScreen.xib s'appelaient à l'origine imageName.png. Cela a été changé pour simplement imageName (supprimer le fichier Extension.

Après la troisième chose, les images sont apparues. Je ne sais pas si l'un des les deux premières étapes sont nécessaires, mais j'espère que cela aidera quelqu'un.

4) Aide mais vieux et grossier

Supprimer les images du catalogue d’actifs a résolu le problème pour moi. Je viens d'ajouter les images @ 1x, @ 2x et @ 3x utilisées sur mon écran de lancement à le projet à l'ancienne et il semble bien fonctionner. Essayer confirmez-le via TestFlight, mais iTunes Connect ne se comporte pas en ce moment.

Je pensais que c'était un problème d'argent pour l'iPhone. Vous n’avez donc pas besoin d’en avertir et l’image apparaîtra lors de l’installation avec testFlight. Après cette conclusion, j’ai fait ensuite et cela travaillé:

1) désinstaller l'application
2) Redémarrer le téléphone
3) Créer une application sur le téléphone 

0
Nik Kov