web-dev-qa-db-fra.com

Pourquoi ai-je un échec avec ibtool avec le code de sortie 255?

Tout à coup, je ne peux pas construire mon projet. Je reçois l'erreur suivante du compilateur:

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

Je reçois cette erreur pour tout un tas de mes fichiers xib. Des idées sur ce qui se passe et quelle est la solution?

Utilisation de Xcode 4.6, iOS 6.1.

127
Darren

Récemment, quelque chose de similaire m’est arrivé avec Xcode 4.6 et iOS 6.1. 

Tout ce que je faisais était de passer à une version différente de l'appareil (5.1) sur le simulateur et celui-ci fonctionnait. Retourné à 6.1 et il s'est corrigé. 

Xcode peut parfois être inutile.

149
Jay Q.

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

ci-dessous les étapes faites le réparer, 

  1. ouvrez xib (nib) comme code source (cliquez avec le bouton droit de la souris sur xib Open As > Source Code dans Xcode ou ouvrez-le à l'aide de TextEdit
  2. supprimer ce appearanceType="aqua" 
  3. enregistrer et ouvrir à l'aide de Xcode

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

24
damithH

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

22
Undo

Essayez de trouver tous les fichiers XIB dans le projet et ouvrez-le. L'un d'eux va 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.

22
knagode

Dans mon cas, je travaillais sur Visual Studio. C'était tout bon. Tout à coup, j'ai 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 ça a marché :) 

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

 enter image description here

 enter image description here

18
Nirmal Subedi
  1. Redémarrer Xcode - n'a pas fonctionné
  2. Nettoyage de l'application - n'a pas fonctionné
  3. Suppression de la dérivéeData - n'a pas fonctionné
  4. Réinitialiser le contenu et les paramètres du simulateur - N'a pas fonctionné
  5. changer de version de simulateur - n'a pas fonctionné
  6. Redémarrez le système d'exploitation - Magically Works

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

17
Vikram Belde

Si vous êtes bloqué, voici ce que vous devriez faire dans un shell: Ibtool --warnings --errors --notices yourfile.xib> alerts.plist

qui va planter, mais maintenant vous avez le crashlog, dans mon cas c'était un problème avec les métriques simulées:

localhost: Me classes $ ibtool --warnings --errors --notices CodeViewController.xib> alerts.plist 2014-04-25 17: 40: 48.625 ibtoold [11691: 507] [MT] DVTAssertions: ASSERTION FAILURE dans /SourceCache/IDEInterfaceBuilderCocoaTouch/IDE Détails: (initialTargetRuntime) ne doit pas être nul . Objet: Méthode: -initWithTargetRuntime: Discussion: {name = (null), num = 1} Conseils: aucun

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

Arrière-plan: La raison de cette erreur est générique, cela peut toujours arriver avec différentes spécifications changeant de version de xcode iOS à version, surtout si vous n'avez pas vérifié régulièrement vos projets avec les mises à jour de xcode.

12
ollie

Je vais cette erreur, et après avoir analysé le journal des incidents, j'ai remarqué que ma version de Xcode-7 essayait d'utiliser les outils de construction de Xcode-8 Beta. J'avais déjà 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 en utilisant les commandes ci-dessous:

Indique quel chemin d’outil de construction est défini:

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.

4
nenchev

Ce ne sera pas pertinent pour ceux qui ont connu le problème dans le passé ... Mais avec le Framework WatchKit, cette erreur s'est produite. Tout ce que je fis, ce fut de supprimer une séquence que j'avais reliée entre deux contrôleurs WKInterface et la construction réussit.

4
Logan

Je viens de le faire avec XCode 8.3.

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

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

3
CodeBender

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

Je me suis contenté de revenir à ma branche principale git, de nettoyer le projet et de le lancer. Pas de problèmes comme je l'avais prévu. 

Puis je suis revenu à la branche git 'problem' et je l'ai reconstruite avec succès .

Gremlins.

2
Frederick C. Lee

J'ai eu le même problème avec Visual Studio pour Mac (Community, 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, le «truc» consiste donc à ouvrir cette dernière et à la laisser exécuter les mises à jour.

2
Alessio Di Salvo

Il m’est arrivé quelque chose de similaire avec 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 tout a été corrigé.

2
Dmitrii O.

Je viens de vivre la même chose et aucune des autres réponses ici ne pourrait résoudre le problème pour moi. Il s’est avéré qu’il s’agissait d’un duplicata d’UILabel dans le storyboard en raison d’une fusion de git. Apparemment, Xcode plantera si deux éléments de l'interface utilisateur ont le même identifiant interne.

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

  • Faites un pas en arrière dans l’historique de git, en vérifiant chaque commit jusqu’à ce que vous trouviez le premier storyboard qui ne bloque pas Xcode.
  • Une fois que vous avez la validation qui a commencé à planter, consultez HEAD et annulez de manière itérative les modifications du scénario dans le commit de problème. Continuez à le réduire jusqu'à ce que vous ayez l'élément d'interface utilisateur ou la ligne qui provoquera un blocage.
  • Annulez définitivement la modification responsable et redémarrez Xcode. Ouvrez à nouveau le storyboard et vous risquez d'ê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 rien qui étaient à l'origine du problème.
2
AWrightIV

Je comprends que si vous utilisez Xcode trop longtemps sans le fermer, Xcode deviendra inutilement inutile et vous donnera une erreur mystère aléatoire. Je redémarre donc régulièrement Xcode et toutes les applications que je lance sur mon Mac chaque fois qu’une erreur suspecte apparaît.

Cache Xcode
1st essayez de vérifier toutes vos classes de contrôleur segue/outlet/storyboard. Parfois, le storyboard serait déconnecté de la classe de contrôleur de vue définie. (cela pourrait provoquer une erreur d'exécution).

2nd essayez de nettoyer votre projet et goto (~/Library/Developer/Xcode/DerivedData) et supprimez le cache de votre projet . puis Force Close Xcode puis redémarrez-le.

3ème essayez de vérifier toutes vos classes de contrôleur segue/outlet/storyboard. Parfois, le storyboard serait déconnecté de la classe de contrôleur de vue définie. (cela pourrait provoquer une erreur d'exécution).

4th try check (copie de la ressource, compilation de la source - Projet> Phase de construction), s’assure que le fichier indiqué existe avec l’adresse et le dossier corrects. Parfois, créer un groupe provoquerait la création d'un dossier et ferait que le fichier ne puisse pas être trouvé par le compilateur.

5e cela pourrait aussi être causé par le fichier déplacé + Xcode deviendra finalement inutile et vous donner une erreur mystérieuse aléatoire. et dint met à jour la (ressource de groupe de copie, source de compilation - Projet> Phase de construction) après le changement de répertoire du fichier

Erreur personnelle. suppression involontaire  
Cela peut aussi avoir été causé en appelant un ViewController ou un point de vente supprimé

2
Muhammad Asyraf

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 Dossier ~/Bibliothèque/Developer/Xcode/DerivedData/et effacez les dossiers de ce dossier.
  2. Redémarrez Xcode and Simulator et exécutez votre projet ....!
1
Abirami Bala

Cela a commencé à m'arriver lorsque j'ai installé et commencé à utiliser XCode 9 betas. Lorsque j'ai commencé à modifier de bons projets dans la version 8.3, les storyboards ont été corrompus avec cette erreur et XCode s'est écrasé… .. XCode 7.x, 8.3 et 9 étaient installés sur mon ordinateur. J'ai tout désinstallé (et supprimé tous les fichiers associés), puis réinstallé la version 8.3 de l'App Store. Les story-boards de mon projet étaient toujours corrompus, mais j'ai pu récupérer une copie de sauvegarde et tout va bien maintenant.
Je ne sais pas s'il s'agit de la version 9 bêta ou non.

0
Stewart Lynch

C'est ce qui m'a causé le problème: J'avais essayé 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/Sommaire/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs Le résultat est que j'ai pu voir le simulateur iOS 8.1 visible dans la liste déroulante de Xcode 5.0.2, mais une erreur de compilation s'est produite de libtool. J'ai retiré le simulateur du chemin et cela a fonctionné après avoir redémarré Xcode. Maintenant, pour utiliser le simulateur iOS 8.0, j'utilise Xcode 6.1.

0
GhostCode

Si rien ne vous aide à résoudre ce problème et que vous utilisez des pods et peut-être ouvrez-vous le même projet dans différentes versions de Xcode, vous devez

  1. Accédez au dossier racine de votre projet. 
  2. Copiez et enregistrez quelque part les données de Podfile.
  3. Supprimez 4 fichiers et dossiers - Podfile, Podfile.lock, Pods (dossier), votre_nom_spsp_travail.xcodeproject
  4. Ouvrez le terminal et accédez au dossier racine. 
  5. lancer la commande pod init
  6. ouvrez Podfile et collez les données sauvegardées de Podfile précédent
  7. lancer la commande pod install
  8. ouvrez votre workpase et vos problèmes auront disparu. 
0
Arsen Sench

J'ai eu cette erreur aujourd'hui sur un nouveau projet, qui testait l'ARKit iOS via le modèle de projet "Application de réalité augmentée".

Après avoir déplacé des fichiers .scn du projet racine dans le dossier art.scnassets, j'ai commencé à obtenir l'erreur de signe de code et rien de ce que j'ai fait n'a été capable de 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 de storyboard les identifiants en double) ... mais ce qui a fonctionné pour moi, c'est

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

... et maintenant cela a fonctionné ... donc je suppose que c'était une erreur dans le traitement des git par XCode ???

0
Tim Kofoed

Comme Logan Geefs le mentionne ci-dessus, cela semble être causé par des séquelles du contrôleur d'interface (c'est-à-dire des boucles). Supprimer les "mauvaises" séquences ne résout pas vraiment le problème de navigation. Ce qu'il faut, c'est placer des actions sur les boutons des [contrôleurs contextuels] de manière stratégique.

Voici le code qui a fonctionné pour moi:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }
0
Jim Rota

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.

0
Pedro.Alonso

Juste construction propre votre projet. vous aurez résolu!

0
Sunil Targe

J'ai eu ce bogue parce que j'ai réécrit un <view> en <imageView> tout en modifiant le storyboard en tant que code source.

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


Tous louent GIT.

0
Lord Zsolt

J'utilise xCode 9.4 et j'ai eu cette erreur ... J'ai essayé de redémarrer xCode, de nettoyer l'application et de supprimer les données dérivées 

J'ai redémarré mon mac

et son travail comme un charme.

0
Ahmed Abdallah

Sur XCODE 9, une cause à cela est un bogue dans XCODE 9.1 avec d'anciens fichiers .XIB.

Réparer:

  1. Mise à niveau vers XCODE 9.2

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

0
Warren P

Je recevais cette erreur lors de la création pour 10.9 d'un fichier .XIB créé dans XCode 6.4 (10.10). 

Voir cette réponse . Le XIB appelait 'labelColor', introduit dans 10.10 et inconnu à 10.9. 

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

0
jtf

Peu ont mentionné que le problème était lié aux divisions, le mien aussi, bien qu'il ne soit pas apparu immédiatement après que j'ai ajouté le nouveau segment et que j'ai pu exécuter l'application à quelques reprises, apporter quelques modifications, ajouter de nouvelles vues avant qu'elle ne survienne, alors ne négligez pas cela. J'ai supprimé certains contrôleurs et annulé au cas où cela ne résoudrait rien. Si un problème est le problème que vous pouvez créer mais que vous ne pourrez pas ajouter, il faut donc recréer le contrôleur de vue complet s'il s'agit d'une option viable. Copier et coller ne semblait pas fonctionner, bien que je n'aie pas essayé de supprimer les connexions IBOutlet. 

0
Sam Bing

Si cela se produit dans le dernier Xcode 10 , essayez de nettoyer les données dérivées. 

~/Library/Developer/Xcode/DerivedData

0
Sunil Targe

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

J'ouvre le storyboard en code source. Commencez à comparer le dernier storyboard des référentiels actifs. Ensuite, j'ai trouvé une même étiquette qui apparaît deux fois dans le même écran. alors je retire un de puis et sauve. Ça m'aide. 

vous pouvez vérifier votre xib ou votre storyboard.

0
Anand Mishra

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 dans les propriétés du projet> onglet APPLICATION> Espace de noms par défaut: En donnant le nouvel espace de noms correct.

Bien sûr, j’ai modifié l’espace de noms également à l’intérieur des classes, mais cela vous aidera, car cela corrigera tous les fichiers générés automatiquement.

0
Daniele D.

Dans mon cas, je rencontrais 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 vierges (contrairement aux icônes de fichier XIB). Après cela, la construction s’est bien déroulée sans problèmes.

0
Kabeer

Cela vient de se produire après quelques travaux dans le scénarimage. J'ai fait quelques annulations et cela s'est avéré être un simple UIButton ajouté à une vue. Supprimé cela et construit sans erreur. Vient 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 ne pas avoir beaucoup changé avant d'essayer de construire.

0
WCByrne