web-dev-qa-db-fra.com

Erreur Storyboard iOS5: les storyboards ne sont pas disponibles sur iOS 4.3 et versions antérieures

J'ai construit une petite application en utilisant des storyboards et cela a fonctionné très bien. Juste avant le test final, j'ai décidé de l'essayer pour voir s'il fonctionne sur iOS 4.3. J'ai cliqué sur le gris 5.0 dans les paramètres du projet et sélectionné 4.3.

L'application n'a pas pu être créée avec le message d'erreur suivant:

Les storyboards ne sont pas disponibles sur iOS 4.3 et versions antérieures

Les storyboards iPhone et iPad me le disent.

Le problème que lorsque je suis revenu à la cible iOS5, je continue de recevoir ces erreurs des deux storyboards, et le produit ne se construit pas! J'ai vérifié: la cible de déploiement iOS dans les paramètres des projets est 5.0 Déploiement de l'application cible la cible est 5.0 Les paramètres de construction utilisent le SDK iOS 5.0

Que dois-je faire d'autre pour restaurer mon projet à un état constructible? Est-ce un nouveau bug ou est-ce que j'oublie quelque chose?

Mise à jour: j'ai continué à recevoir cette erreur même après avoir fait un nettoyage. J'ai changé le débogueur dans Schemes en "LLDB" et j'ai fait un nettoyage supplémentaire, le projet construit et compile maintenant

98
Alex Stone

J'ai également eu ce problème et j'ai finalement résolu cela en suivant la procédure:

  1. Ouvrez XXXXXX.storyboard
  2. Ouvrez l'onglet Identité et type dans votre vue droite de Xcode.
  3. Définissez la valeur de Development in Document Versioning sur "Xcode 4.2" (ma valeur par défaut est "Default Version (Xcode 4.1)").
  4. Modifiez la valeur du déploiement de Project SDK Version (iOS 5.0) à iOS 5.0, puis revenez à Project SDK Version (iOS 5.0)

Reconstruisez le projet et l'erreur devrait être résolue.

111
cotton5415

La solution qui a fonctionné pour moi était simplement de supprimer le ~/Library/Developer/Xcode/DerivedData répertoire de mon projet.

20
C Fraire

Je vais juste ajouter celle-ci comme autre réponse possible ici, car les premières solutions ont fonctionné plusieurs fois pour moi (comme je l'ai mentionné dans mon commentaire précédent) jusqu'à aujourd'hui où je n'ai pas pu compiler mon projet pour l'amour ni l'argent avec la même erreur. Avec le débogueur modifié et Xcode réglé sur 4.2 et en redémarrant plusieurs fois, je n'ai pas pu compiler. Cependant, j'ai découvert une autre façon de contourner ce problème.

Sélectionnez le storyboard dans la colonne de gauche et "Afficher dans le Finder" et faites glisser le storyboard sur le bureau. Xcode changera maintenant sa couleur en rouge et ne pourra pas être compilé.

Nettoyez le projet, faites glisser le storyboard du bureau vers le répertoire du Finder.

Ensuite, il se construit et l'erreur disparaît à nouveau.

Je ne sais pas ce qui a déclenché l'erreur à l'origine alors que je développe sous iOS5 et que je construis pour 4.3, mais cela semble revenir de temps en temps et.

17
FractalDoctor

Cela semble être un bug dans le dernier XCode que j'ai également rencontré, a essayé la solution de l'OP de changer le débogueur et cela n'a eu aucun effet.

Cela a surgi pour moi depuis que j'ai essayé le storyboard avec 4.3 et que j'ai ensuite essayé de revenir en arrière.

Ma solution était de fermer XCode, de l'ouvrir à nouveau et de nettoyer. Ensuite, j'ai compilé et cela a bien fonctionné.

J'espère que cela aide les autres.

14
Peter Brooks

Alors que d'autres solutions m'ont aidé, elles n'ont pas fonctionné à 100% du temps. Je ne connais pas suffisamment XCode pour savoir à quel point cette solution est fiable, mais au moins elle a fonctionné pour moi afin que vous puissiez l'essayer dans votre projet.

Dans la partie gauche de Xcode, ouvrez le navigateur de projet. Cliquez sur l'élément supérieur, qui est votre projet. Dans le panneau immédiatement à droite, vous verrez un choix pour choisir entre votre projet et ses cibles. Cliquez sur le projet, puis dans le panneau de droite, sous l'onglet "Infos", définissez "Utilisation des builds de ligne de commande" sur Déboguer (dans mes deux projets où je rencontrais l'erreur, les deux étaient définis sur Libérer).

Une image est probablement la plus simple:

Picture from Xcode

ne autre idée: Ouvrez un autre projet avec des storyboards dans Xcode et essayez de l'exécuter. S'il réussit, vous pouvez revenir au projet en cours et il devrait se construire. Je pense que cela indique clairement un bug dans Xcode.

11
Tyler Collier

Après avoir essayé toutes les réponses ici (supprimer la référence du Storyboard, quitter Xcode, nettoyer, changer le débogueur, etc.), aucune n'a fonctionné (avec Xcode 4.5).

La seule façon de le reconstruire (et c'était une supposition totale) était d'ouvrir le fichier Storyboard dans un éditeur de texte et de supprimer la ligne suivante:

<deployment version="1280" identifier="iOS"/>

Il doit se trouver en haut du fichier, dans le <dependencies> section. Après cela, le projet a été construit avec succès et Xcode a même rajouté cette ligne au fichier, mais il continue de se construire ...

Allez comprendre...! J'espère que cela peut aider quelqu'un!

7
jeannicolas

Enfin, une solution de contournement élégante qui semble faire l'affaire pour moi! (J'espère bien que cela fonctionne pour tout le monde. Celui-ci est têtu.)

Une fois que vos paramètres sont de retour en toute sécurité dans iOS 5-land, essayez Cmd-Option-Shift K (aka "Clean Build Folder ..." dans le menu - maintenez Option enfoncée pour le voir), puis build.

6
Joe D'Andrea

la solution est simple, faites un clic droit sur votre fichier de storyboard et affichez dans le Finder puis sélectionnez le dossier où se trouve le fichier (ce serait probablement dans le dossier en.lproj) cliquez avec le bouton droit sur le fichier MainStoryboard.storyboard à l'origine du problème et ouvrez-le avec du texte éditez trouver la ligne qui lit ou quelque chose comme ça:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

et changez-le en quelque chose comme ceci:

<development defaultVersion="4300" identifier="xcode"/>

enregistrez le fichier et générez. Et voilà...

5
MichaelBadichi

Ok, j'ai tout essayé ci-dessus et le problème est toujours survenu. Donc, je supprime simplement les storyboards (comme référence, ne passez pas à la corbeille). puis construisez avec succès; après cela, je les ai rajoutés; Construire, et enfin travaillé.

4
Mohammad Aljaber

J'ai également eu ce problème, et rien n'a aidé. Même l'ouverture d'un autre projet et la tentative de construction ont échoué.

Ce que j'ai fait, et pour moi, allait projeter -> info et sous "Cible de déploiement" changer la cible de déploiement iOS en quoi que ce soit, construire et ensuite revenir à quoi que ce soit et reconstruire à nouveau.

3
ilan

J'avais le même problème. J'ai essayé toutes les réponses ci-dessus et toutes les combinaisons et rien n'a fonctionné. Plus tard, après avoir fait quelques recherches, j'ai analysé que le simple fait que l'erreur qui me lançait était simple.

Accédez simplement aux paramètres de génération et au lieu de sélectionner le fichier de projet xcode, sélectionnez le fichier produit et modifiez la cible de déploiement sur 5.0 ou 5.1. L'erreur devrait disparaître.! Je l'ai fait dans Xcode 4.3 dans Lion OSX. Cela a bien fonctionné pour moi !!

3
jeevangs

Voici encore un autre fléau aléatoire, vaudou, qui semblait contourner le bug tout à l'heure. (après que d'autres techniques ici n'aient pas aidé), j'ai renommé le fichier storyboard (et l'entrée correspondante dans le fichier info.plist). Je n'ai pas encore essayé le rituel "glisser vers/depuis le bureau".

Ce soir, j'ai perdu environ 45 minutes à cause de ce problème. grrrrr. Ok je me sens mieux maintenant.

2
zer0gravitas
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.Apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.Apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode

semble aider avec Xcode 4.3.2

1
Jerzy Kozera

Eu un problème similaire. XCode construirait et exécuterait d'autres projets correctement mais ne pouvait pas se débarrasser de l'erreur sur le projet que j'avais changé, pas même les sauvegardes du serveur. J'ai essayé toutes les solutions ci-dessus, mais nada. Voici ce qui a fonctionné.

  1. Désinstallez XCode.

  2. Supprimez le dossier utilisateur/bibliothèque/développeur/XCode.

  3. Réinstallez XCode (peut-être devriez-vous commencer cela avant de rechercher le dossier, le téléchargement m'a pris 20 minutes).

  4. Démarrez, nettoyez et construisez.

A travaillé pour moi. Cela m'a fait gagner du temps. Parfois, lorsque le scalpel ne fonctionne pas, il est temps pour la hache de guerre. Maintenant, je peux choisir une nouvelle police à coder (cela effacera vos préférences)!

1
texian

Après avoir essayé toutes les suggestions ci-dessus, sans succès, j'ai obtenu mon code à compiler en procédant comme suit.

Edit -> Refactor -> Convert to Objective-C ARC
1
Asbjorn Riedel