Pourquoi est-ce que ibtool a échoué avec le code de sortie 255?

129

Tout d'un coup, je ne peux pas construire mon projet. J'obtiens l'erreur de compilateur suivante:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool a échoué avec le code de sortie 255

J'obtiens cette erreur pour tout un tas de mes fichiers xib. Des idées sur ce qui se passe et quelle est la solution?

En utilisant Xcode 4.6, iOS 6.1.

Darren
la source
Pouvez-vous restaurer les XIB? Utilisez-vous le contrôle de source comme git pour voir ce qui a changé dans le xib "tout d'un coup"?
bryanmac
@bryanmac J'utilise git, mais le problème était dans de nombreux fichiers xib, dont beaucoup je n'avais pas touché. Le problème semble avoir été un problème Xcode qui a été résolu en redémarrant Xcode plusieurs fois ou en passant à différents simulateurs, comme suggéré dans la réponse acceptée.
Darren
Juste un essai nettoyer votre code et exécuter.
Mihir Oza
1
J'avais une version bêta de Xcode 9 en cours d'exécution, que j'avais fermée. J'ai oublié de fermer la version bêta du simulateur. Lorsque j'ai ouvert Xcode 8, j'ai eu cette erreur en essayant de créer et d'exécuter l'application. La fermeture de la version bêta du simulateur, le nettoyage du cache et la reconstruction ont résolu le problème.
Adrian
Cela s'est produit lorsque j'ai supprimé certains fichiers du dossier ~ / Library
Shamps

Réponses:

151

Quelque chose de similaire m'est arrivé récemment en utilisant Xcode 4.6 et iOS 6.1.

Tout ce que j'ai fait, c'est passer à une autre version de l'appareil (5.1) sur le simulateur et il a fonctionné. Retourné à 6.1 et il s'est corrigé.

Xcode peut parfois être inutile.

Jay Q.
la source
J'avais déjà essayé cela, mais je l'ai essayé plusieurs fois et cela a finalement résolu le problème.
Darren
4.6.1 vient de sortir aujourd'hui. Peut-être que cette mise à jour résoudra ce problème.
Jay Q.
a l'heure? C'est ma productivité aujourd'hui: je travaille 6 heures d'affilée. 15 minutes de création de code, 5: 45h de combat avec xcode et je suis encore loin de résoudre ce problème. Mec, je déteste Xcode. C'est le pire logiciel avec lequel j'ai travaillé.
Duck
3
Xcode réagit parfois drôle. J'avais le même problème ... essayé plusieurs fois et il a finalement été résolu par lui-même.
Dipika
4
Je viens de l'obtenir avec la mise à jour vers Xcode 9.3. Je développe avec xamarin, donc je n'utilise pas Xcode au-delà du compilateur. Ce qui a résolu cela pour moi était de démarrer xcode et d'être invité à "installer les composants requis". Une fois cette opération terminée, j'ai pu reconstruire mon projet et je n'ai plus vu cette erreur.
melwil
24

Cela nous arrive et nous nettoyons le cache, supprimons le dossier de données dérivées .. etc. rien ne se passe.

les étapes ci-dessous l'ont corrigé,

  1. ouvert xib (NIB) comme code source (clic droit sur le xib Open As > Source Codede Xcodeou l' ouvrir à l' aideTextEdit )
  2. enlève ça appearanceType="aqua"
  3. enregistrer et ouvrir à l'aide de Xcode

Pour plus d'explications, utilisez cet article , il nous aide à résoudre le problème.

damithH
la source
il n'y a pas de champ aspectType = "aqua" apparaît dans mon code. Comment résoudre ce problème
Poonam
@abc recherchez simplement "ApparenceType" et supprimez cette ligne
damithH
22

Essayez de nettoyer l'application. Cmd-Shft-K.

Annuler
la source
Oui, toujours pas de changement.
Darren
22

Essayez de trouver tous les fichiers XIB dans le projet et ouvrez-le. L'un d'eux fera probablement planter votre Xcode.

Mon problème était les polices personnalisées dans certains fichiers XIB.

J'ai dû installer les polices manquantes sur mon ordinateur et le problème a été résolu.

knagode
la source
Pour moi, les problèmes étaient avec le storyboard.
Alex Andrews
Pour moi, le problème était avec les données dérivées
Abdul Yasin
18
  1. Redémarrez Xcode - n'a pas fonctionné
  2. Nettoyage de l'application - n'a pas fonctionné
  3. Suppression des données dérivées - n'a pas fonctionné
  4. Réinitialiser le contenu et les paramètres du simulateur - n'a pas fonctionné
  5. modification des versions du simulateur - n'a pas fonctionné
  6. Redémarrez le système d'exploitation - Fonctionne comme par magie

Je ne sais pas quelle partie a fait la magie et oui, cela a tué beaucoup de temps.

Vikram Belde
la source
18

Dans mon cas, je travaillais sur Visual Studio. Tout était bon. Tout à coup, j'ai eu le même problème. Puis j'ai ouvert XCode, j'ai vu les mises à jour disponibles. Ensuite, j'ai mis à jour les mises à jour Xcode. Ensuite, cela a fonctionné :)

La raison était donc: XCode s'attendait à terminer certaines mises à jour. Jusque-là, cela ne fonctionnait pas correctement.

entrez la description de l'image ici

entrez la description de l'image ici

Nirmal Subedi
la source
C'est ce qui a aidé à y remédier. Merci!
Raajit Sharma
12

Ce que vous devez faire si vous êtes coincé est, dans un shell: ibtool --warnings --errors --notices yourfile.xib> alerts.plist

qui plantera, mais maintenant vous avez le journal des plantages, dans mon cas, c'était un problème avec les métriques simulées:

localhost: me classe $ ibtool --warnings --errors --notices CodeViewController.xib> alerts.plist 25/04/2014 17: 40: 48.625 ibtoold [11691: 507] [MT] DVTAssertions: ASSERTION FAILURE in / SourceCache / IDEInterfaceBuilderCocTouch /IDEInterfaceBuilderCocoaTouch-5038/InterfaceBuilder/WidgetIntegration/SimulatedMetrics/IBUISimulatedSizeMetrics.m:33 Détails: (initialTargetRuntime) ne doit pas être nul. Objet: Méthode: -initWithTargetRuntime: Thread: {name = (null), num = 1} Conseils: Aucun

Donc, dans mon cas, j'ai ouvert le xib en tant que source via le menu contextuel et supprimé les objets métriques. Cela dépend de l'erreur ce qu'il faut supprimer ou modifier. Essayez à nouveau ibtool et s'il ne plante pas, vous êtes bon.

Contexte: La raison de cette erreur est générique, elle peut toujours se produire avec des spécifications différentes changeant de la version d'iOS xcode à la version, surtout si vous n'avez pas vérifié vos projets périodiquement avec les mises à jour de xcode.

ollie
la source
1
Cette erreur se produit en raison de l'une des nouvelles fonctionnalités non prises en charge dans IB. C'est donc la réponse parfaite. Très bonne réponse. +1
Vignesh
4

Ce ne sera pas pertinent pour ceux qui ont connu le problème dans le passé ... Mais avec le Framework WatchKit, j'ai eu cette erreur. Tout ce que j'ai fait a été de supprimer une séquence que j'avais liée entre deux contrôleurs WKInterface, et la construction a réussi.

Logan
la source
Je commence à ce problème est plus lié à segue ou quelque chose. Je travaillais sur une ancienne branche et mon patron a changé beaucoup de choses sur le storyboard. Je n'obtiens un conflit de version que lorsque je fusionne, mais après la fusion. peu importe de quel côté j'ai choisi la résolution des conflits. Il arrive à la même erreur. :(
Alix
4

J'ai cette erreur, et après avoir scanné le journal des plantages, j'ai remarqué que ma version Xcode-7 essayait d'utiliser les outils de construction de Xcode-8 Beta. J'avais précédemment utilisé xcode-select pour changer la version des outils de construction que je voulais utiliser. Si vous avez une installation xcode-beta, vérifiez vos paramètres à l'aide des commandes ci-dessous:

Afficher la trajectoire d'outil de construction définie:

xcode-select -p

Sélectionnez le chemin d'accès Xcode standard:

sudo xcode-select -s /Applications/Xcode.app/

Si vous essayez de construire avec un Xcode sur un chemin d'installation différent, assurez-vous que le chemin ci-dessus reflète cela.

Nenchev
la source
3

Je viens de le faire avec XCode 8.3.

Pour moi, je viens de quitter XCode, puis j'ai nettoyé l'application et reconstruit. C'était bien après ça.

La cause pour moi était d'ajouter de nouveaux fichiers de chaîne pour un storyboard localisé.

CodeBender
la source
2

J'ai juste vécu la même chose et aucune des autres réponses ici n'a pu résoudre le problème pour moi. Il s'est avéré être un UILabel en double dans le storyboard en raison d'une fusion git. Apparemment, Xcode plantera si deux éléments de l'interface utilisateur ont le même ID interne.

Ma méthode pour trouver le problème responsable était:

  • Reculez de manière itérative dans l'historique de git, en vérifiant chaque commit jusqu'à ce que vous trouviez le premier storyboard qui ne plante pas Xcode.
  • Une fois que vous avez le commit qui a commencé à planter, consultez HEAD et annulez de manière itérative les modifications du storyboard dans le commit du problème. Continuez à le réduire jusqu'à ce que vous ayez le seul élément d'interface utilisateur ou une ligne qui provoquera un plantage.
  • Annulez définitivement la modification responsable et redémarrez Xcode. Ouvrez à nouveau le storyboard et vous serez peut-être averti d'une incohérence interne. Acceptez les modifications proposées par Xcode, mais examinez-les.
  • Si nécessaire, vous pouvez maintenant tenter de recréer l'élément d'interface utilisateur ou les modifications à partir de zéro qui étaient à l'origine du problème auparavant.
AWrightIV
la source
2

Je travaillais dans une branche git secondaire lorsque j'ai rencontré le problème «255».

Je suis simplement revenu à ma branche git principale, nettoyé le projet et exécuté. Aucun problème comme je m'y attendais.

Ensuite, je suis retourné à la branche git 'problem' et je l'ai reconstruite avec succès.

Gremlins.

Frederick C. Lee
la source
2

Quelque chose de similaire m'est arrivé aussi en utilisant Xcode 8.2.1 et iOS 10.2.

Je suis passé à une version antérieure de l'appareil sur le simulateur et cela a fonctionné. Puis je suis revenu et ça a été corrigé.

Dmitrii O.
la source
2

Je comprends que si vous utilisez Xcode pendant trop longtemps sans le fermer, Xcode deviendra finalement inutile et vous donnera une erreur mystère aléatoire. donc je redémarre régulièrement Xcode et toutes les applications que j'exécute sur mon mac à chaque fois qu'une erreur suspecte apparaît.

Cache Xcode
1er essayez de vérifier toute votre classe de contrôleur de segue / sortie / storyboard. parfois, le storyboard serait déconnecté de la classe de contrôleur de vue qui a été définie. (cela peut provoquer une erreur d'exécution).

2e essayez de nettoyer votre projet et allez à (~ / Library / Developer / Xcode / DerivedData) et supprimez le cache de votre projet. puis Forcez Fermer Xcode puis redémarrez-le.

3ème essayez de vérifier toute votre classe de contrôleur de segue / sortie / storyboard. parfois, le storyboard serait déconnecté de la classe de contrôleur de vue qui a été définie. (cela peut provoquer une erreur d'exécution).

4e essai de vérification (copie de la ressource du bundle, compilation de la source - Projet> Phase de construction) assurez-vous que le fichier répertorié existe avec l'adresse et le dossier corrects. parfois la création d'un groupe entraînerait la création d'un dossier et le fichier ne pouvait pas être trouvé par le compilateur

5e cela peut également être dû au fait que le fichier déplacé + Xcode devient finalement inutile et vous donne une erreur mystère aléatoire. et dint mettre à jour la (copie de la ressource du bundle, compilation de la source - Projet> Phase de construction) après que le fichier a changé de répertoire

Erreur personnelle. la suppression involontaire
peut également avoir été provoquée en appelant un ViewController ou une prise supprimé

Muhammad Asyraf
la source
Sous Fichier de projet> Paramètres de construction> Cible de déploiement iOS, il affiche uniquement des chiffres, pas de "Dernière version". Le réglage sur iOS 11, puis sur iOS 9 et ensuite sur iOS 11 n'a eu aucun effet. Version 9.0 (9A235)
William Cerniuk
@WilliamCerniuk à partir de la date à laquelle je poste cette réponse, je comprends que si vous utilisez Xcode trop longtemps sans le fermer, Xcode deviendra finalement inutile et vous donnera une erreur mystère aléatoire. Je redémarre donc régulièrement Xcode et toutes les applications que j'exécute sur mon mac à chaque fois qu'une erreur suspecte apparaît.
Muhammad Asyraf
@WilliamCerniuk essayez de nettoyer votre projet et goto (~ / Library / Developer / Xcode / DerivedData) et supprimez le cache de votre projet. puis Forcez Fermer Xcode puis redémarrez-le.
Muhammad Asyraf
@WilliamCerniuk essayez de vérifier toute votre classe de contrôleur segue / outlet / storyboard. parfois, le storyboard serait déconnecté de la classe de contrôleur de vue qui a été définie. (cela peut provoquer une erreur d'exécution).
Muhammad Asyraf
@WilliamCerniuk essayez de vérifier (copier la ressource du bundle, compiler la source - Projet> Phase de construction) assurez-vous que le fichier répertorié existe avec l'adresse et le dossier corrects. parfois, créer un groupe entraînerait la création d'un dossier et
empêcherait
2

J'ai eu le même problème en utilisant Visual Studio pour Mac (Communauté, 7.4.2 (build 12)) après une mise à jour du système d'exploitation (macOS High Sierra 10.13.4).

Dans ce cas, il semble que vous ayez juste besoin de mettre à jour Visual Studio et Xcode.

Notez que, bien sûr, Visual Studio n'apporte pas de mises à jour Xcode, donc le «truc» était d'ouvrir ce dernier et de le laisser exécuter les mises à jour.

Alessio Di Salvo
la source
C'était aussi mon problème - le lancement de xcode m'a incité à réinstaller les composants requis et à le résoudre.
matt.chatterley
La mise à jour vers iOS 12.0 m'est arrivée de la même manière. Il fallait juste lancer XCode pour la première fois, le laisser installer quelques composants supplémentaires et c'est fini!
Dr TJ
1

J'étais également confronté au même problème dans Xcode 8. La suppression des données dérivées a résolu mon problème.

  1. Allez dans le dossier ~ / Library / Developer / Xcode / DerivedData / et effacez les dossiers qu'il contient
  2. Redémarrez Xcode et Simulator et exécutez votre projet ....!
Abirami Bala
la source
N'a pas fonctionné en supprimant les données dérivées du projet ni en supprimant ~ / Library / Caches / com.apple.dt.Xcode (un cache couramment corrompu)
William Cerniuk
0

Cela venait juste de se produire après avoir travaillé sur le storyboard. J'ai fait quelques annulations et il s'est avéré être un simple UIButton ajouté à une vue. Supprimé cela et il a été construit sans erreur. Je viens d'ajouter un nouveau bouton et cela a fonctionné.

Pour un peu plus d'explications ... Le bouton avait été copié d'un prototype de TVCell à un autre. une certaine confusion s'est produite dans la copie, je suppose. Je suis juste content de n'avoir pas beaucoup changé avant d'essayer de construire.

WCByrne
la source
0

Dans mon cas, cela s'est produit après avoir renommé certains espaces de noms et j'ai résolu le même problème en allant dans les propriétés du projet> onglet APPLICATION> Espace de noms par défaut: donner le nouvel espace de noms correct.

Bien sûr, j'ai changé l'espace de noms également à l'intérieur des classes, mais cela aidera car cela corrigera tous les fichiers générés automatiquement. Il est recommandé de nettoyer et de créer, puis de fermer et de rouvrir la solution.

Daniele D.
la source
0

J'ai rencontré le même problème lorsque je fusionne le formulaire de code git avec un autre code de développeur. J'ai essayé plusieurs fois de nettoyer mon projet. Mais rien ne m'aide.

J'ouvre le storyboard dans le code source. Commencez à comparer avec le dernier storyboard de référentiels de travail. Ensuite, j'ai trouvé une même étiquette apparaître deux fois sur le même écran. puis je supprime un de puis et enregistre. Ça m'aide.

vous pouvez vérifier votre xib ou votre storyboard.

Anand Mishra
la source
0

J'ai eu ce bug parce que j'ai réécrit un <view>to <imageView>en éditant le storyboard en tant que code source.

Je pensais que cette solution rapide et sale fonctionnerait pour remplacer certaines classes personnalisées (sous-classe de UIView) par UIImageViews.


Tous louent GIT.

Seigneur Zsolt
la source
0

C'est ce qui a causé le problème pour moi: j'avais tenté d'utiliser le simulateur iOS 8.0 avec Xcode 5.0.2. J'avais collé le simulateur iOS 8.0 dans le chemin suivant - / Applications / Xcode \ 2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs Le résultat de ceci était que j'ai pu voir le simulateur iOS 8.1 visible dans le liste déroulante dans Xcode 5.0.2 mais cela a entraîné une erreur de compilation de libtool. J'ai supprimé le simulateur du chemin et cela a fonctionné après le redémarrage de Xcode. Maintenant, pour utiliser le simulateur iOS 8.0, j'utilise Xcode 6.1

GhostCode
la source
0

J'ai corrigé l'erreur avec cette commande, fermez le simulateur et Xcode:

codesign -vv /A*/Xc* | open -ef

J'espère que cela pourra aider.

Pedro.Alonso
la source
Comment la codification est liée à cela. quand j'essaye juste de construire sur sim
Alix
0

J'obtenais cette erreur lors de la construction pour 10.9 d'un .XIB qui a été créé dans XCode 6.4 (10.10).

Voyez cette réponse . Le XIB appelait «labelColor» qui a été introduit dans 10.10, et était inconnu de 10.9.

L'ouverture du XIB en tant que source l'a empêché de planter XCode et m'a permis de changer les instances de 'labelColor' en 'textColor' et l'erreur a été résolue.

jtf
la source
0

Comme le mentionne Logan Geefs ci-dessus, cela semble être causé par des segments de contrôleur d'interface (c'est-à-dire des boucles). La suppression des "mauvaises" segues ne résout pas vraiment le problème de navigation. Ce qu'il faut, c'est placer stratégiquement certaines actions de bouton sur [les contrôleurs pop].

Voici le code qui a fonctionné pour moi:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }
Jim Rota
la source
0

Peu de gens ont mentionné que le problème était lié aux segues, le mien l'était aussi, bien qu'il ne soit pas apparu immédiatement après avoir ajouté la nouvelle segue et que j'ai pu exécuter l'application plusieurs fois, apporter des modifications, ajouter de nouvelles vues avant qu'elle ne se produise, alors ne négligez pas cela. Je suis allé supprimer certains contrôleurs et les annuler au cas où cela n'aiderait pas. Si un segue est le problème que vous pouvez créer mais que vous ne pourrez pas l'ajouter, recréez donc le contrôleur de vue entier si c'est une option viable. Le copier-coller ne semble pas fonctionner, même si je n'ai pas essayé de supprimer les connexions IBOutlet.

Sam Bing
la source
0

Cela a commencé à m'arriver lorsque j'ai installé et commencé à utiliser XCode 9 beta. Lorsque j'ai commencé à modifier de bons projets en 8.3, les storyboards ont été corrompus avec cette erreur et XCode s'est écrasé. J'ai installé XCode 7.x, 8.3 et 9 sur mon ordinateur. Je les ai tous désinstallés (et supprimé tous les fichiers associés), puis j'ai réinstallé 8.3 à partir de l'App Store. Les storyboards de mon projet étaient toujours corrompus, mais j'ai pu récupérer à partir d'une sauvegarde et maintenant les choses vont très bien pendant que je continue.
Je ne sais pas s'il s'agit de 9 bêta ou non.

Stewart Lynch
la source
0

Dans mon cas, j'ai eu ce problème après avoir résolu manuellement un conflit de fusion dans le fichier "project.pbxproj". Dans XCode, sélectionnez projet-> cible-> BuildPhases-> CopyBundleResources. Là, j'ai supprimé certains fichiers en double qui apparaissaient dans des icônes vides (contrairement aux icônes de fichier XIB). Après cela, la construction s'est bien déroulée sans problème.

Kabeer
la source
0

J'ai eu cette erreur aujourd'hui sur un nouveau projet, en testant ARKit d'iOS via le modèle de projet "Augmented Reality App".

Après avoir déplacé certains fichiers .scn du projet racine dans le dossier art.scnassets, j'ai commencé à recevoir l'erreur de signe de code, et rien de ce que j'ai fait n'a pu la résoudre.

J'ai essayé toutes les suggestions de ce fil (nettoyer, nettoyer les données dérivées, redémarrer Xcode, redémarrer le Mac, rechercher dans les fichiers du storyboard les ID en double) ... mais ce qui a fait que cela fonctionne pour moi, c'est:

  • commit et transmet mes modifications à mon projet git
  • réinitialisation matérielle au commit précédent
  • nettoyer les données dérivées et exécuter avec succès
  • réinitialisation matérielle au commit le plus récent

... et maintenant cela a fonctionné ... donc je suppose que c'était une erreur dans la gestion de git de XCode ???

Tim Kofoed
la source
0

Sur XCODE 9, une des causes de ceci est un bogue dans XCODE 9.1 avec d'anciens fichiers .XIB.

Réparer:

  1. Mettre à niveau vers XCODE 9.2

  2. Tous vos fichiers .XIB doivent être définis sur la version iOS 8.1 ou supérieure.

Warren P
la source
0

Construisez simplement votre projet. vous serez résolu!

Sunil Targe
la source