33 votes

Image de lancement de l'iPhone en mode paysage seulement pour iOS7 R4 image asset

Je suis presque certain qu'il s'agit d'un bogue, mais si quelqu'un a trouvé un moyen de le contourner, faites-le moi savoir.

J'ai mis en place un catalogue d'images de lancement dans Xcode-5. Si je configure une image iOS 7 R4, elle n'est utilisée que si mon application supporte l'orientation portrait. Mon application n'est que paysage-droite et je ne vois pas l'image de lancement.

Les images iOS 5,6 fonctionnent parfaitement, et l'image R4 iOS 5,6 se charge "correctement" si je laisse de côté l'image R4 iOS 7.

Quelqu'un a-t-il réussi à faire fonctionner ce système ?

Mise à jour

J'ai découvert que je peux faire apparaître les images paysagères d'iOS 7, mais seulement si je supprime les images par défaut (iOS6), ce qui ne m'aide pas vraiment. Si vous modifiez le fichier info.plist et changez l'orientation de l'image en "Landscape (bouton home droit)" (par exemple), puis fournissez une image horizontale, elle s'affichera effectivement sur iOS 7 au lancement. Malheureusement, si vous incluez une image iOS 6, elle s'affichera à la place. De plus, vous ne verrez pas l'image iOS 7 dans l'onglet "Général" de votre cible si l'orientation est autre que Portrait. Ceci avec Xcode 5.0 et iOS 7.0.2.

36voto

saranpol Points 331

Ma solution est de ne pas utiliser les catalogues d'actifs et de fournir
Default.png (320x480)
Default@2x.png (640x960)
Default-568h@2x.png (640x1136)
comme bundle dans le projet et iOS les trouvera automatiquement.
(Apple n'a pas d'image de lancement en format paysage pour l'iPhone ou l'iPod, nous devons donc fournir une image tournée de 90 degrés en format paysage).

Vous pouvez avoir besoin
Paysage par défaut@2x~ipad.png
Paysage par défaut~ipad.png
si vous faites aussi l'iPad.

N'oubliez pas de supprimer le nom des images de lancement fixes dans votre Project-Info.plist si vous avez

35voto

remudada Points 2161

La solution que nous avons trouvée est de mettre à jour le catalogue d'actifs et de cibler uniquement les iOS 6 et antérieurs.

Comment le faire. Allez dans le catalogue des biens. Dans le coin supérieur droit, cliquez sur l'icône "Inspecteur d'attributs". Vous pouvez y définir le système d'exploitation cible pour les images de lancement. Décochez les cases iOS 7 pour l'iPhone. Vous devriez maintenant être en mesure de voir les images de lancement pour ces appareils.

8voto

virsunen Points 66

Pas assez de représentants pour ajouter un commentaire, je vais donc poster une réponse pour clarifier certaines choses.

Je ne recommanderais pas la réponse de Remudada, car il s'agit d'une solution de contournement qui pourrait ne pas être compatible avec les futures versions, et elle contient le problème de la bordure noire. En général, les avertissements sont là pour une raison.

La réponse de NAlexN fonctionne car elle résout le problème : iOS recherche un écran de démarrage en mode portrait, mais si le bouton portrait est désactivé, il y a un problème. Donc, gardez le bouton portrait activé et ajoutez à votre viewcontroller ce qui suit :

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

5voto

NAlexN Points 412

J'ai rencontré le même problème avec mon application paysage uniquement, et voici comment je l'ai résolu :

  1. Accédez à l'onglet Général dans les paramètres de votre projet, à la section Orientation de l'appareil de l'iPhone et décochez les cases à côté de Paysage à gauche et Paysage à droite, et sélectionnez l'orientation Portrait.
  2. Exécutez l'application sur un simulateur iPhone 3.5 ou 4 iOS 7 avec ces paramètres. L'application peut se planter si vous avez codé en dur les masques Landscape quelque part dans les contrôleurs de vue de votre application, mais cela n'a pas d'importance.
  3. Remettez les coches pour Paysage à gauche et Paysage à droite, mais laissez l'orientation Portrait autorisée également. Autrement dit, vous devriez autoriser l'orientation Portrait et les deux orientations Paysage pour l'iPhone.

3voto

Stefan Points 469

Je l'ai résolu de cette façon : Allez dans les paramètres du projet et sélectionnez "Don't use Asset Catalog" dans la section des images de lancement. Vous pouvez maintenant ajouter les images de lancement de manière traditionnelle. Vous pouvez toujours utiliser le catalogue d'actifs pour les icônes de l'application et les autres images.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X