Erreur de bundle non valide - "nécessite un storyboard de lancement"


336

Je reçois toujours cette erreur lorsque j'essaie de soumettre mon application au magasin à l'aide de Xcode:

ERREUR ITMS-90475: "Bundle non valide. La prise en charge du multitâche iPad nécessite le lancement du storyboard dans le bundle 'com.companyname.appname.'"

Quelqu'un sait ce que cette erreur signifie vraiment?


Veuillez noter que je viens de passer à Xcode 7 GM aujourd'hui et que j'ai déjà soumis une application au magasin.
matthias_b_nz

1
J'utilisais donc Xcode 7 GM lors de la soumission.
matthias_b_nz

1
Avez-vous compris cela?
andygeers

44
Non, je me suis endormi.
matthias_b_nz

Réponses:


677

En effet, vous devez spécifier comment votre application est censée gérer le multitâche sur iPad.

Si vous ne voulez pas gérer le multitâche pour le moment, vous pouvez simplement le désactiver en allant dans l'onglet "Général" de votre cible:

entrez la description de l'image ici


3
Existe-t-il un moyen de faire fonctionner cela sans cocher la case "Nécessite le plein écran"?
msimons

5
@msimons Oui: rendez votre application compatible avec le multitâche iPad et il n'est pas nécessaire de cocher la case. La case à cocher "Nécessite le plein écran" est uniquement à utiliser au cas où votre application ne pourrait pas gérer le multitâche pour le moment. Quoi qu'il en soit, votre application doit spécifier au système d'exploitation si elle est compatible ou non avec le multitâche, sinon Apple ne vous laisse pas soumettre à l'App Store.
André Rodrigues

35
Pourquoi n'ont-ils pas fait de cela la valeur par défaut et obligé les développeurs à opter pour le multitâche? Le processus de soumission des applications était déjà assez compliqué!
Rupert Rawnsley

8
@RupertRawnsley Probablement parce qu'ils veulent que les développeurs rendent leurs applications compatibles avec le multitâche par défaut.
André Rodrigues

1
Mon application utilise le multitâche et n'utilise pas de story-boards, l'erreur indique qu'un "lancement du story-board" est requis. Si je dois incorporer des storyboards dans mon application à cette 99e heure, ce sera un désastre.
Matthys Du Toit

39

J'ai résolu le problème de cette façon, voir ici :

Si vous devez désactiver la vue Slide Over et Split View, faites-le explicitement en ajoutant la clé UIRequiresFullScreen au fichier Info.plist de votre projet Xcode et appliquez la valeur booléenne YES.


31

Vous devez ajouter un écran de lancement (Xcode> Fichier> Nouveau). Sous iOS> Interface utilisateur, vous sélectionnez "Lancer l'écran" pour l'ajouter au projet.

Pour l'iPad, vous devez prendre en charge les 4 orientations.

Sélectionnez dans Xcode votre fichier cible, et sous l'onglet Général, allez dans "Icônes d'application et images de lancement". Ici, vous sélectionnez le fichier d'écran de lancement que vous avez créé. Lorsque vous lancez l'application, vous verrez que les images de lancement (bitmap) ne sont pas utilisées, mais le Storyboard de lancement d'écran.


1
C'est la meilleure réponse. Notez que la plainte est que vous avez besoin d'un storyboard de lancement - mon application avait un fichier XIB d'une version antérieure de XCode, mais ce n'est pas bon pour iOS 9.
Bryan

C'est l'alternative 'fix', si vous voulez gérer le multitâche. Si vous avez un projet en cours et que vous en avez juste besoin pour définir le drapeau Requiert le plein écran est la solution rapide, mais vous devriez probablement envisager d'utiliser des storyboards.
Russ

Meilleur! Je mets à jour mon ancien projet et c'est exactement ce dont j'ai besoin.
LE SANG

27

Vous pouvez le faire comme André l'a montré ou ajouter directement:

<key>UIRequiresFullScreen</key>
<true/>

Sur votre fichier .plist.


1
Depuis Xcode 7.2, l'onglet général a disparu et cela semble être la voie à suivre maintenant.
Peege151

3
Quoi? Non ça ne l'est pas. L'onglet Général n'a pas disparu dans Xcode 7.2.
mbeaty

15

Vous pouvez trouver la case "Nécessite le plein écran" sous Général> Cibles

entrez la description de l'image ici


8

Si vous utilisez Cordova, vous voudrez peut-être utiliser le plugin cordova -ios-requires-fullscreen (voir Comment désactiver le multitâche iOS9 via Ionic / Cordova ?)

Mise à jour : vous pouvez également utiliser le cordova-plugin-ipad-multitasking , ce qui semble également empêcher un autre problème (ITMS-90474)

Mise à jour : cela devrait maintenant être corrigé à l'aide des outils Cordova 5.4 sans avoir besoin de ces plugins.


Problème toujours là sur Cordova 6.5.0
Mirko


0

SI vous souhaitez UNIQUEMENT définir le paramètre Plein écran pour iPhone et prendre en charge le multitâche iPad, essayez ceci:

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIPad.storyboard</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>

entrez la description de l'image ici

LaunchScreenIPad.storyboard est le nom de LaunchScreen pour iPad.

L'iPhone utilisera toujours des Launch Images Sourceimages.

Document de référence Apple: création de clés spécifiques à la plate-forme et au périphérique

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.