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

98

J'ai créé une petite application à l'aide de storyboards et elle a très bien fonctionné. Juste avant le test final, j'ai décidé de l'essayer pour voir s'il fonctionnait sous 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 les versions antérieures

Les storyboards iPhone et iPad me le disent.

Le problème que lorsque je suis revenu à la cible iOS5, je continue à 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 La cible de déploiement d'application 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 tout 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 se construit et se compile maintenant

Alex Stone
la source
Pour mémoire, j'ai essayé toutes les solutions proposées (au 9 février 2012). Aucun travail. Hmm ...
Joe D'Andrea
1
J'ai le même problème, même avec de nouveaux projets (c'est fou)! J'ai essayé toutes les méthodes ici, aucune n'a fonctionné. La mise à jour de Xcode vers la dernière version (4.3.1) n'aide pas non plus. grrrrrr .....
Luzifer42
1
Aucune des réponses ci-dessous n'a fonctionné pour moi. Essayé le 22 mars ..! :(
jeevangs
2
J'ai Profileédité l'application pour les fuites puis l' ai édité Run=)
tGilani
Je

Réponses:

111

J'ai également eu ce problème et finalement je l'ai résolu 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 Développement dans la gestion des versions de document sur "Xcode 4.2" (ma valeur par défaut est "Version par défaut (Xcode 4.1)".
  4. Modifiez la valeur de 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.

coton5415
la source
Cela a fonctionné pour moi aussi, le passage de GDB à LLVM ne semblait pas faire l'affaire. Il semble que le changement de la cible de déploiement en une valeur inférieure à 5,0 sur l'écran Cible-> Résumé ramène le développement de la gestion des versions de document Storyboard (Xcode) à 4.1, mais le retour à 5.0 ne change pas la version de Xcode à 4.2.
FractalDoctor
1
Je devais aussi nettoyer avant de reconstruire
Bushra Shahid
7
J'ai eu le même problème, mais je n'ai pas pu le corriger de cette façon. J'ai finalement pu le corriger en supprimant la référence au storyboard, en le construisant, en le rajoutant, puis en le reconstruisant.
smcmahon le
1
Je souhaite que cela fonctionne pour moi! Je pense que cela devrait, sur la base des commentaires, mais pas de dés, désolé. :(
Joe D'Andrea
1
Un peu bizarre, mais ce qui a fonctionné pour moi a été de faire glisser le fichier du storyboard hors de xcode vers le bureau, de le nettoyer puis de le construire - cela n'a aucun sens, je sais.
JARC
20

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

C Fraire
la source
Cela semble être le plus fiable. Cela a fonctionné pour moi quand aucune autre réponse ici n'a fonctionné.
Nicolas Renold
C'est le seul qui a fonctionné pour moi, et je vote sans vergogne contre les réponses qui n'ont pas fonctionné. Désolé les gars ... celui-ci est devenu trop frustrant.
David Morton
Cela a fonctionné pour moi. Bizarrement, la suppression des données dérivées du projet de l'organisateur ne fonctionnait pas, mais la suppression de tout le dossier du Finder fonctionnait.
rob
1
la suppression du dossier DerivedData est toujours la première chose que j'essaye. Cependant, n'a pas aidé ici
brainray
17

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

Sélectionnez le storyboard dans la colonne de gauche et «Afficher dans le Finder» et faites glisser le storyboard vers le bureau. Xcode va maintenant changer sa couleur en rouge et être incapable de compiler.

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

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

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

FractalMédecin
la source
Cela a fonctionné pour moi, alors que le changement de version du document et le redémarrage / nettoyage ne fonctionnaient pas.
Berik
uhhhh je ne peux tout simplement pas vous remercier assez (+1), cela m'a sauvé la journée :-)
PeterK
14

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

Cela m'est apparu depuis que j'ai essayé le storyboard avec 4.3, puis j'ai essayé de revenir en arrière.

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

J'espère que cela aide les autres.

Peter Brooks
la source
2
Cmd + Q - pour fermer xCode. La «fermeture» courante n'est pas utile.
béryllium
Mon expérience est similaire à la réponse de FiddleMeRagged: cela a fonctionné pendant un certain temps, et pour le moment ne fonctionne pas (bien que la solution de cotton5415 non plus). Donc, malheureusement, vous ne pouvez pas vous attendre à ce que cela fonctionne à 100% du temps, même si cela fonctionne parfois.
Tyler Collier
Oui! Solution simple: rouvrez xCode et juste le Clean, c'est fait! =)
Emadpres
11

Alors que d'autres solutions m'ont aidé, elles ne fonctionnaient pas 100% du temps. Je ne connais pas assez XCode pour savoir à quel point cette solution est fiable, mais au moins cela 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 «Info», définissez «Utilisation des versions de ligne de commande» sur Déboguer (dans mes deux projets où j'avais l'erreur, les deux étaient définis sur Release).

Une image est probablement la plus simple:

Image de Xcode

Une 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 bogue dans Xcode.

Tyler Collier
la source
Oww ouaish! Cette «autre idée» fonctionne! J'ai tout essayé mais aucun d'entre eux ne fonctionne!
Hlung
Oui, un autre projet a été construit avec succès, maintenant l'ancien est également construit sans erreurs. Merci.
Adeel Pervaiz
7

Après avoir essayé toutes les réponses ici (suppression de la référence Storyboard, fermeture de Xcode, nettoyage, changement de 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 être près du haut du fichier, dans le <dependencies> section. Après cela, le projet a été construit avec succès et Xcode a même réajouté cette ligne au fichier, mais il se construit toujours ...

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

jeannicolas
la source
La suppression des entrées <deployment ..> et <development ..> fonctionnait au moins pour un fichier de storyboard. Bizarrement, cela a corrigé la même erreur "non disponible dans iOS 4.3" dans un projet différent et sans rapport avec des storyboards.
LearnCocos2D
6

Enfin, une solution de contournement élégante qui semble faire l'affaire pour moi! (J'espère que cela fonctionnera 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 (alias "Clean Build Folder ..." dans le menu - maintenez Option pour le voir), puis construisez.

Joe D'Andrea
la source
J'ai essayé toutes les méthodes ci-dessus mais en vain .. jusqu'à ce que je rencontre cette solution, qui fonctionne parfaitement.
morph85
5

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) faites un clic droit sur le fichier MainStoryboard.storyboard à l'origine du problème et ouvrez avec du texte modifier 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 construisez. Et voilà...

MichaelBadichi
la source
La simple suppression de <déploiement ..> et <développement ..> (si existant) du fichier de storyboard a résolu le problème pour moi.
LearnCocos2D
4

Ok, j'ai tout essayé et le problème est toujours survenu. Je viens donc de supprimer les storyboards (comme référence, ne pas passer à la poubelle). puis construisez avec succès; après cela, je les ai ajoutés à nouveau; Construire, et finalement travaillé.

Mohammad Aljaber
la source
Je ne peux même pas supprimer les références, car Xcode 4.6 plante dès que je touche un storyboard
brainray
3

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é. Puis 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 construction et au lieu de sélectionner le fichier de projet xcode, sélectionnez le fichier produit et modifiez la cible de déploiement en 5.0 ou 5.1. L'erreur devrait se produire.! Je l'ai fait dans Xcode 4.3 dans Lion OSX. Cela a bien fonctionné pour moi !!

jeevangs
la source
3

J'ai aussi eu ce problème, et rien n'a aidé. Même ouvrir un autre projet et essayer de construire a échoué.

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

ilan
la source
2

Voici encore un autre fléau aléatoire, vaudou, qui semblait contourner le bogue tout à l'heure. (après que d'autres techniques ici n'avaient pas aidé) j'ai renommé le fichier de storyboard (et l'entrée correspondant 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.

zer0gravitas
la source
Cela a fonctionné pour moi et j'ai édité la réponse en ajoutant des étapes détaillées. Je me demande qui a été si intelligent pour voter contre cette suggestion ...
brainray
correction: cela a fonctionné pour moi jusqu'à ce que Xcode re-corrompu le projet. J'ai aussi dû réinstaller Xcode ...
brainray
1

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
Asbjorn Riedel
la source
1
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

Jerzy Kozera
la source
1

Eu un problème similaire. XCode construirait et exécuterait bien d'autres projets mais ne pouvait pas éliminer l'erreur sur le projet que j'avais modifié, 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 hachette. Maintenant, je peux choisir une nouvelle police pour coder (cela effacera vos préférences)!

texian
la source
Merci, cela a finalement résolu le problème ici. Pour les autres: vous pouvez identifier ce problème si le message d'erreur "ibtool a échoué avec le code de sortie 255" apparaît.
brainray
-1

La seule solution qui a fonctionné pour moi est de créer un autre projet sans Storyboarding activé, de le construire, puis de revenir au projet de storyboard, de nettoyer et de construire.

Mirkules
la source
-1

Voici encore un autre aléatoire, vaudou, déconnectez votre iPhone s'il est connecté.

Luzifer42
la source
-2

J'ai simplement changé la cible de déploiement en 4.0 et le développement en 4.3 à partir de MainStroyboard. Je nettoie le projet; et redémarré le mac, :) Je sais que cela semble drôle mais redémarrer xcode n'a pas aidé. peut-être qu'il y a un cache en mémoire ...

Ensuite, j'ai construit le projet; C'était ok!

Kaan Yy
la source