web-dev-qa-db-fra.com

Impossible de soumettre l'application avec les images de lancement du storyboard sur l'App Store: votre fichier binaire n'est pas optimisé pour iPhone 5

J'essaie de soumettre ma première application à l'App Store mais, lorsque j'essaie, j'obtiens le message d'erreur suivant:

ERREUR ITMS-9000: "Votre fichier binaire n’est pas optimisé pour iPhone 5 - Nouveau Les applications iPhone et les mises à jour soumises doivent prendre en charge l’affichage 4 pouces Sur iPhone 5 et doivent inclure une image de lancement référencée dans le fichier info.plist sous UILaunchImage avec une valeur UILaunchImageSize définie sur {320, 568}. Les images de lancement doivent être des fichiers PNG et situées au niveau supérieur de votre ensemble, ou fournies dans chaque dossier .lproj si vous le souhaitez localisez vos images de lancement.

J'utilise le SDK 8.1. La cible de déploiement est 8.0. Les images de lancement sont définies par le fichier d'écran de lancement du storyboard. Il n'y a pas d'images de lancement obsolètes et je ne prévois pas de les ajouter car le système cible est iOS 8+.

Qu'est-ce qui ne va pas? Xcode version 6.1 (6A1052d).

27
Dmitry

Renommez le fichier d'écran de lancement du storyboard en «LaunchScreen.storyboard».

Si vous créez un nouveau fichier d'écran de lancement en utilisant Fichier -> Nouveau -> Fichier, Xcode attribuera par défaut le nom à "Launch Screen.storyboard". 

Cependant, le nom par défaut spécifié dans votre Info.plist lors de la création d'un nouveau projet est 'LaunchScreen.storyboard' sans espace.

7
Dmitry

Votre application prend-elle en charge iOS7 ou une version antérieure? C'est le problème. Dans ce cas, vous devez fournir l'écran de démarrage sous forme de fichiers PNG pour iOS7.

LaunchScreen.xib ou LaunchScreen.storyboard ne fonctionne qu'à partir de iOS8.

Plus d'informations ici: http://oleb.net/blog/2014/08/replacing- launch-images-with-storyboards/

Avec iOS 8, vous pouvez désormais fournir un document Interface Builder et, au format d’exécution, demandez au système d’exploitation de générer toutes les images de lancement nécessaires pour vous.

41
RGML

Voici ce qui a fonctionné pour moi après être devenu fou pendant 2 jours:

  1. Définir la cible de déploiement sur 7.0
  2. Ajoutez une nouvelle image de démarrage de taille 320x568 et nommez-la ainsi: Default-568h.png.
  3. Ajoutez le code ci-dessous dans votre fichier Info.plist.
<key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
        </dict>
    </array>

Points à considérer

  • Mon application était complètement en mode Paysage mais je devais utiliser cette image de la taille d'un portrait de la taille indiquée ci-dessus.
  • Je devais utiliser une taille de 320x568 qui est (1x) bien que toutes les autres ressources de mon projet soient basées sur la rétine c.-à-d. (2x)
  • Encore une chose: je n’ai pas utilisé les catalogues de biens pour les images de lancement. J'utilisais une séquence personnalisée d'écrans de démarrage via mon code, mais je devais quand même suivre les étapes ci-dessus pour résoudre cette erreur.

Capture d'écran

 enter image description here

14
n.by.n

Ce problème se produit car vous n'ajoutez pas correctement l'image de lancement de taille 640x1136 (iphone 5).

Après avoir modifié Contents.json ci-dessous, je peux télécharger normalement vers iTunesConnect.

{
  "images" : [
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "splash-480h.png",
  "extent" : "full-screen",
  "scale" : "1x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "[email protected]",
  "extent" : "full-screen",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "[email protected]",
  "extent" : "full-screen",
  "subtype" : "retina4",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "landscape",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "667h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "extent" : "full-screen",
  "filename" : "[email protected]",
  "minimum-system-version" : "7.0",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "retina4",
  "filename" : "[email protected]",
  "minimum-system-version" : "7.0",
  "orientation" : "portrait",
  "scale" : "2x"
}
   ],
  "info" : {
"version" : 1,
"author" : "xcode"
  }
}
1
user2393018

J'ai eu cette même erreur en essayant de soumettre quand j'étais PAS en utilisant un fichier xib d'écran de lancement. J'avais tous les bons atouts d'image aux bonnes dimensions mais toujours pas. 

J'ai trouvé ce post où un type avait le même problème et finissait par utiliser un fichier 568x320 comme indiqué dans l'erreur. J'ai essayé la même chose mais cela n'a pas fonctionné pour moi.

Au final, mon application étant uniquement pour iOS8, j'ai utilisé un fichier xib et l'application a été soumise avec succès. 

1
Leon

J'utilise React Native et j'ai ce problème après avoir ajouté react-native-splash-screen plugin

Cependant, j'ai eu la solution après avoir suivi la méthode via ce lien

Votre binaire n'est pas optimisé pour iPhone 5

Le problème a résolu quand je fais ceci:

  1. J'ai totalement supprimé les xcassets de laungh images
  2. ajouté le jeu d'images de lancement
  3. et ajouté toutes les images de lancement à nouveau
  4. créé à nouveau un nouvel ipa

et cette fois, il a été soumis avec succès.

0
Ferdy Fauzi

Si vous vous référez à https://developer.Apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html , cela signifie que l'iPhone 6(plus) doit être lancé avec XIB ou Storyboard. fichier.

Et si vous jetez un coup d'œil ici https://developer.Apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//Apple_ref/doc/uid/TP40006556-CH27- SW2 il fait référence aux tailles d'image et ne dit jamais explicitement que l'iPhone 5 peut gérer un fichier de lancement (je sais que cela ne dit pas non plus que ce n'est pas le cas). Au moins, l'iPhone 4 semble ne pas l'avoir, alors je suppose que l'iPhone 5 ne le sera pas non plus et que vous devez ajouter un fichier statique.

0
theguy

Pour les âmes Xamarin perdues ici, j'ai ce problème en utilisant un xcassets d'images appelé Images.xcassets dans le dossier Ressources. 

Je le crée à partir de zéro, nommez-le Media.xcassets car il provient de défaut et sous le dossier racine, pas de ressources. Et il fonctionne. : /

0
Alejandro