web-dev-qa-db-fra.com

Image de lancement uniquement en mode paysage pour iPhone pour iOS7 R4

Je suis assez certain que c'est un bug, mais au cas où quelqu'un aurait trouvé un moyen de contourner cela, faites le moi savoir.

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

Les images iOS 5,6 fonctionnent très bien et l'image R4 iOS 5,6 se chargera en fait "correctement" si je laisse de côté l'image iOS 7 R4.

Quelqu'un a-t-il pu faire fonctionner cela?

Mise à jour

J'ai constaté que je pouvais faire apparaître des images de paysage iOS 7, mais uniquement si je supprimais les images par défaut (iOS6), ce qui ne m'aide pas vraiment. Si vous modifiez l'info.plist et changez l'orientation de l'image en "Paysage (bouton d'accueil droit)" (par exemple), puis fournissez une image horizontale, elle s'affichera en fait sur iOS 7 au lancement. Malheureusement, si vous incluez une image iOS 6, cela le montre à la place. De plus, vous ne verrez pas l'image iOS 7 répertoriée dans l'onglet "Général" de votre cible si l'orientation est autre que Portrait. C'est avec Xcode 5.0 et iOS 7.0.2.

33
Ben Flynn

Ma solution est de ne pas utiliser de catalogues d'actifs et de fournir
Default.png (320x480)
[email protected] (640x960)
Par dé[email protected] (640x1136)
en tant que bundle dans le projet et iOS les trouvera automatiquement
(Apple n'a pas d'image de lancement en mode paysage pour iPhone ou iPod, nous devons donc fournir une rotation de 90 degrés de l'image paysage)

Tu pourrais avoir besoin de
Default-Landscape@2x~ipad.png
Paysage par défaut ~ ipad.png
si vous utilisez également l'iPad.

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

36
saranpol

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

Comment faire. Accédez au catalogue d'actifs. Et dans le coin supérieur droit, cliquez sur l'icône "Inspecteur d'attributs". Ici, vous pouvez définir le système d'exploitation cible pour les images de lancement. Décochez les cases iOS 7 pour iPhone. Vous devriez maintenant pouvoir voir les images de lancement de ces appareils.

35
remudada

Pas assez de représentant pour ajouter un commentaire, donc je posterai une réponse pour clarifier quelques points.

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 qui contient ce problème de bordure noire. Généralement, 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 portrait, mais si le bouton portrait est désactivé - problème. Donc, gardez le bouton portrait activé et ajoutez à votre viewcontroller les éléments suivants:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}
8
virsunen

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 du périphérique iPhone et décochez les cases en regard de Paysage gauche et Paysage droit, puis sélectionnez Orientation portrait.
  2. Exécutez l'application sur l'iPhone 3.5 ou 4 sur le simulateur iOS 7 avec ces paramètres. L'application peut se bloquer si vous avez des masques Paysage codés en dur quelque part dans les contrôleurs de vue de votre application, mais cela n'a pas d'importance.
  3. Remettez les cases à cocher pour Paysage gauche et Paysage droit, mais laissez également l'orientation Portrait autorisée. Autrement dit, vous devez autoriser les orientations Portrait et Paysage pour iPhone.
5
NAlexN

enter image description here

Dans XCode 6.1 pour IOS 8 ... Utilisez Launch Image Source comme Launch Image ... et remplacez Launch Screen File de LaunchScreen.Xib par Blank ..

J'espère que cela vous aidera ........

3
Arvind Kumar

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

3
Stefan