iOS 9 Xcode 7 - L'application apparaît avec des barres noires en haut et en bas

116

Installé l'application sur iPhone 6 iOS9 et voici ce qui s'est passé. Remarquez les barres noires en haut et en bas. Cela fonctionne très bien sur iOS8. Comment puis-je y remédier?

J'ai essayé de construire avec Xcode 6.4 et 7. Même résultat.

(l'iPhone 5 utilisait des applications iPhone 4 comme celle-ci)

entrez la description de l'image ici

Mojtaba
la source
J'ai le même problème sur l'iPhone 6 juste après la mise à niveau vers iOS 9
aledalgrande
Utilisez-vous le contrôleur de navigation ou de barre d'onglets dans votre application?
Ing. Ron
@RonWood Les deux en fait.
Mojtaba le
Essayez le correctif ici: stackoverflow.com/questions/32312906/…
aledalgrande

Réponses:

187

Avez-vous migré votre application à partir d'une version antérieure de Xcode? Si tel est le cas, Xcode fait maintenant une hypothèse sur la taille de votre écran et vous avez besoin d'un moyen d'indiquer la taille réelle de l'écran au moment de l'exécution.

Il y a deux manières:

a) Si vous utilisez un écran de lancement.

Il vous manque un fichier LaunchScreen.storyboard. Créez un fichier LaunchScreen.storyboard et ajoutez-le à votre projet.

b) Si vous n'utilisez pas d'écran de lancement.

Accédez aux paramètres de votre cible et choisissez Général, puis Icônes d'application et Images de lancement. Maintenant, définissez "Launch Screen File" sur votre "main.storyboard" (ou un autre storyboard le cas échéant)

Gruntcakes
la source
1
Quel devrait être le contenu de LaunchScreen.storyboard?
J'obtiens
4
Vous n'avez pas besoin d'un fichier LaunchScreen. Une autre option consiste à fournir les images de lancement nécessaires pour chaque taille d'écran prise en charge.
rmaddy du
J'ai le même problème lors de l'ouverture de l'application dans iOS 9.1, mais mon problème a été résolu en ajoutant les images de l'écran de lancement pour toute la résolution, grâce à @rmaddy
g212gs
4
Dans mon cas, j'ai besoin de changer "Launch Screen File" en MainStoryBoard si vous n'avez pas Launch.screen.storyboard pour le faire fonctionner
Evan Lin
L' option b a fonctionné correctement pour moi! Cela me rendait fou, merci beaucoup!
frisinacho
29

Mon application n'utilise pas d'image de lancement. La configuration du "fichier écran de lancement" sur mon fichier "main.storyboard" a résolu le problème pour moi.

Ce paramètre se trouve sous "Cible-> Général-> Icônes d'application et images de lancement"

Utilisez le lien suivant pour plus d'informations: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

dreamer.psp
la source
2
Cela a fonctionné pour moi et semble être une bien meilleure solution que d'ajouter un nouveau storyboard aléatoire à votre projet.
Jeremy
1
Si le projet est Parse IOS swift starter project, allez dans Target-> General-> App Icons and Launch Images et la valeur de la liste déroulante «Launch Screen File» est vide. Ainsi, choisir le "Main.storyboard" résoudra le problème des "barres noires en haut et en bas".
sfbayman
Cette solution ne fonctionnera pas si vous devez fournir une vue personnalisée pour l'image de lancement ou si votre image de lancement est différente du contrôleur de vue initiale du storyboard.
Himanshu Mahajan
17

Pour moi, le problème est que je migre mon application à partir d'une version antérieure de Xcode et le projet n'a pas le fichier LaunchScreen.storyboard. Je viens de créer LaunchScreen.storyboard et je l'ai ajouté pour lancer Screen File. Cela a fait l'affaire. Application avec des barres noires sur la solution supérieure et inférieure

smapps
la source
6

J'utilise xcode 7.2. Au début, j'ai créé un fichier LaunchScreen.storyboard, comme le suggérait le permanganate de potassium , et cela a fonctionné! Cependant, je ne voulais pas d'écran de lancement, alors j'ai essayé de définir Main.storyboard comme fichier d'écran de lancement et cela a fait l'affaire!

xcode 7.2

Max Hiroyuki Ueda
la source
2

Lorsque vous migrez votre application d'une version antérieure de xCode vers xCode 6 ou xCode 7, vous rencontrez ce problème.

Pour iOS 7 et versions antérieures, les développeurs doivent fournir des images de lancement distinctes pour toutes les tailles d'écran, résolutions et orientations prises en charge par leur application.

Dans Xcode 6 ou version ultérieure, il existe une autre option. Vous pouvez spécifier un storyboard dont le contrôleur de vue initial sera ensuite utilisé comme écran de lancement de l'application. Utilisez les étapes ci-dessous:

  • Créez un fichier de storyboard vierge nommé LaunchScreen.storyboard.

  • Accédez à vos paramètres cibles et, dans l'onglet "Général", sélectionnez le storyboard comme fichier d'écran de lancement dans la section "Icônes d'application et images de lancement". Xcode ajoutera une clé UILaunchStoryboardName correspondante à Info.plist de votre application. Lorsque cette clé est présente, Xcode la priorisera sur toutes les images de lancement que vous pourriez avoir définies.

  • Ajoutez des sous-vues à la vue du storyboard nouvellement créée et positionnez-les avec des contraintes. Lorsque vous lancez l'application sur un appareil, le système d'exploitation doit utiliser la scène comme écran de lancement.

Supprimez l'ancienne application du simulateur et nettoyez le projet.

À votre santé :-)

Himanshu Mahajan
la source
2

J'ai le même problème dans mon application. Dans mon application, plusieurs cibles ont été ajoutées au projet. Si j'utilise la solution de storyboard de lancement, je peux voir le plein écran, mais dans mon cas, mon image de déjeuner semble floue et étirée sur l'iPhone 4. Pour sortir de ce problème, j'ai utilisé les solutions d'actifs LaunchImage. Après cela, je suis toujours confronté au même problème.J'ai essayé toutes les solutions ci-dessus.À la fin, j'ai trouvé que mes images png n'incluent pas les résolutions ALPHA . Après avoir ajouté de nouvelles images, je peux voir des images en plein écran.

VDPATEL
la source
2

Celui-ci est si vous n'utilisez pas du tout de storyboard.

Cela se produit lorsque vous supprimez LaunchScreende Launch Screen Filedans App icons and Launch Images. entrez la description de l'image ici

Au lieu de le supprimer d'ici, allez sur info.plist et recherchez Launch screen interface file base nameet supprimez LaunchScreen, c'est-à-dire laissez-le vide. entrez la description de l'image ici

Il n'apparaîtra pas dans info.plist si vous avez LaunchScreendéjà supprimé de Launch Screen File. Ensuite, vous pouvez donner n'importe quel nom Launch Screen Fileet il apparaîtra et vous pouvez supprimer le nom.

Alok Subedi
la source
1

Accédez au catalogue d'actifs et créez une nouvelle image de lancement iOS. puis dans Cible> Général> Icônes d'application et Images de lancement> Source de l'image de lancement, vous verrez automatiquement la nouvelle image de lancement créée dans le catalogue d'actifs.

Mohcine Belarrem
la source
1

Dans mon cas, j'ai plusieurs cibles dans le projet et chacune a ses propres images d'écran de lancement. La chose étrange que l'une des cibles a l'air bien, mais d'autres ont ces barres noires. La chose était dans le nom du dossier de lancement à l'intérieur des actifs. Changer le nom en LaunchImage résout le problème.

d.rozumeenko
la source
1

Swift 4.2

sélectionnez LaunchScreen.storyboard s'il est vide

entrez la description de l'image ici

Shakeel Ahmed
la source
0

Dans mon cas, j'ai un actif avec des images de lancement, mais il affichait également la barre sombre du haut et du bas.

J'ai essayé la solution de storyboard de lancement et oui cela fonctionne mais je ne voulais pas ajouter de nouveau fichier, voici ce que j'ai fait pour résoudre le problème:

  1. Copié mes images de lancement dans un autre dossier
  2. Suppression de l'élément LaunchImage existant
  3. Ajout d'un nouvel élément LaunchImage
  4. Ajout des images à la nouvelle LaunchImage

C'est tout!

Wils
la source
0

Accédez aux paramètres cibles dans xcode dans cette section, accédez aux icônes d'application et à la section des images de lancement dans cette section sélectionnez le fichier d'écran de lancement, vous trouverez une liste déroulante de valeurs sélectionnez la valeur CDVLaunchScreeen par rapport à la valeur du fichier d'écran de lancement

Shankar Prasad
la source
0

J'ai eu un problème similaire sur un iPod. Pour résoudre ce problème, j'ai remplacé

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

avec

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

dans Info.plist.

Roman Podymov
la source
-1

Ne faites rien de ce qui est décrit dans les réponses précédentes ...

Pour afficher la vue Controller, suivez l'étape suivante

Step 1 : Add the splash Screen for iPhone and iPad.

Après cela, cette erreur ne se reproduira plus.

Shubham JAin
la source