Почему я получаю ошибку ibtool с кодом выхода 255?


129

Внезапно я не могу построить свой проект. Я получаю следующую ошибку компилятора:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool не удалось с кодом выхода 255

Я получаю эту ошибку для целой группы моих файлов xib. Есть идеи, что происходит, и какое решение?

Использование Xcode 4.6, iOS 6.1.


Можете ли вы откатить XIB? Вы используете систему управления версиями, такую ​​как git, чтобы увидеть, что изменилось в xib «внезапно»?
— bryanmac

@bryanmac Я использую git, но проблема была во многих файлах xib, многие из которых я не касался. Похоже, проблема заключалась в сбое Xcode, которое было решено либо путем многократного перезапуска Xcode, либо путем переключения на разные симуляторы, как предлагается в принятом ответе.
— Даррен

Всего одна попытка очистить свой код и запустить.
— Mihir Oza

1
У меня была запущена бета-версия Xcode 9, которую я закрыл. Забыл закрыть бета-версию симулятора. Когда я открыл Xcode 8, я получил эту ошибку при попытке создать и запустить приложение. Закрытие бета-версии симулятора, очистка кеша и восстановление решили проблему.
— Адриан

Это произошло, когда я удалил некоторые файлы из папки ~ / Library
— Shamps

Ответы:


151

Недавно со мной случилось нечто подобное, используя Xcode 4.6 и iOS 6.1.

Все, что я сделал, это переключился на другую версию устройства (5.1) на симуляторе, и он запустился. Перешел обратно на 6.1 и само исправилось.

Xcode иногда может быть бесполезным.


Я уже пробовал это, но попробовал еще несколько раз, и в конце концов проблема была решена.
— Даррен

4.6.1 только что вышла сегодня. Возможно, это обновление решит эту проблему.
— Jay Q.

во время? Это моя продуктивность сегодня: я работаю 6 часов подряд. 15 минут создания кода, 5:45 часов борьбы с xcode, и я еще не приблизился к решению этой проблемы. Я ненавижу Xcode. Это худшее программное обеспечение, с которым я когда-либо работал.
— Дак

3
Xcode иногда забавно реагирует. У меня была такая же проблема ... пробовал несколько раз, и в конце концов она решилась сама по себе.
— Дипика

4
Только что получил это с обновлением до Xcode 9.3. Я разрабатываю с помощью xamarin, поэтому не использую Xcode за пределами компилятора. Для меня это решило то, что я действительно загрузил xcode и получил предложение «установить необходимые компоненты». После этого я смог пересобрать свой проект и больше не видел эту ошибку.
— melwil

24

Это происходит с нами, и мы очищаем кеш, удаляем папку с производными данными ... и т.д. ничего не происходит.

ниже шаги сделали это исправить,

  1. открытая XIB (СИБ) в качестве исходного кода (Щелкните правой кнопкой мыши на XIb Open As > Source Codeс Xcodeили открыть его с помощью TextEdit)
  2. удали это appearanceType="aqua"
  3. сохранить и открыть с помощью Xcode

Для получения дополнительных сведений используйте эту статью , она поможет нам решить проблему.


в моем коде нет поля appearanceType = "aqua". Как мне решить эту проблему
— Пунэм

@abc просто выполните поиск по запросу «appearanceType» и удалите эту строку
— damithH


22

Попробуйте найти в проекте все файлы XIB и открыть его. Один из них, скорее всего, приведет к сбою вашего Xcode.

Моя проблема заключалась в пользовательских шрифтах в каком-то файле XIB.

Мне пришлось установить недостающие шрифты на свой компьютер, и проблема была решена.


Для меня проблема была в раскадровке.
— Alex Andrews

Для меня проблема была с производными данными
— Абдул Ясин

18
  1. Перезапустить Xcode - не сработало
  2. Очистка приложения - не сработало
  3. Удаление производных данных - не сработало
  4. Сбросить содержимое и настройки симулятора - не сработало
  5. изменение версий симулятора - не сработало
  6. Перезагрузите ОС - волшебно работает

Я не уверен, какая часть творила волшебство, и да, это убило много времени.


18

В моем случае я работал над Visual Studio. Все было хорошо. Внезапно у меня возникла та же проблема. Затем я открыл XCode, увидел доступные обновления. Затем я обновил обновления Xcode. Потом сработало :)

Итак, причина была в следующем: XCode должен был завершить некоторые обновления. До этого он не работал должным образом.

введите описание изображения здесь

введите описание изображения здесь


Вот что помогло это исправить. Спасибо!
— Raajit Sharma

12

Что вам следует делать, если вы застряли, так это в оболочке: ibtool --warnings --errors --notices yourfile.xib> alerts.plist

который выйдет из строя, но теперь у вас есть журнал сбоев, в моем случае это была проблема с моделированными показателями:

localhost: Классифицирует меня $ ibtool --warnings --errors --notices CodeViewController.xib> alerts.plist 2014-04-25 17: 40: 48.625 ibtoold [11691: 507] [MT] DVTAssertions: ASSERTION FAILURE в / SourceCache / IDEInterfaceBuilderCocoaTouch /IDEInterfaceBuilderCocoaTouch-5038/InterfaceBuilder/WidgetIntegration/SimulatedMetrics/IBUISimulatedSizeMetrics.m:33 Подробности: (initialTargetRuntime) не должно быть нулевым. Объект: Метод: -initWithTargetRuntime: Тема: {name = (null), num = 1} Подсказки: Нет

Поэтому в моем случае я открыл xib как источник через контекстное меню и удалил объекты метрик. Что удалить или изменить, зависит от ошибки. Попробуйте ibtool еще раз, и если он не дает сбоев, все в порядке.

Предыстория: причина этой ошибки является общей, она всегда может произойти при изменении различных спецификаций от версии xcode iOS к версии, в основном, если вы не проверяли свои проекты периодически с обновлениями xcode.


1
Эта ошибка возникает из-за какой-либо новой не поддерживаемой функции в IB. Следовательно, это идеальный ответ. Отличный ответ. +1
— Vignesh

4

Это не будет иметь значения для тех, кто сталкивался с этой проблемой в прошлом ... Но с WatchKit Framework у меня возникла эта ошибка. Все, что я сделал, это удалил переход, который я связал между двумя контроллерами WKInterface, и сборка прошла успешно.


Я начинаю, что эта проблема больше связана с переходом или чем-то в этом роде. Я работал над старой веткой, и мой босс многое изменил в раскадровке. Конфликт версий возникает только при слиянии, но после слияния. независимо от того, какую сторону я выбрал в разрешении конфликта. Получается та же ошибка. :(
— Аликс

4

Я делаю эту ошибку, и после сканирования журнала сбоев я заметил, что моя сборка Xcode-7 пыталась использовать инструменты сборки из Xcode-8 Beta. Ранее я использовал xcode-select, чтобы изменить версию инструментов сборки, которые я хотел использовать. Если у вас установлена ​​бета-версия xcode, проверьте свои настройки с помощью следующих команд:

Показать, какой путь к инструменту сборки задан:

xcode-select -p

Выберите стандартный путь Xcode:

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

Если вы пытаетесь выполнить сборку с помощью Xcode по другому пути установки, убедитесь, что указанный выше путь отражает это.


3

Получил это только сейчас с XCode 8.3.

Что касается меня, я просто ушел из XCode, затем почистил приложение и собрал заново. После этого все было хорошо.

Причиной для меня было добавление новых строковых файлов для локализованной раскадровки.


2

Я испытал то же самое, и ни один из других ответов здесь не смог решить проблему для меня. Оказалось, что это дубликат UILabel в раскадровке из-за слияния git. По-видимому, Xcode выйдет из строя, если два элемента пользовательского интерфейса имеют одинаковый внутренний идентификатор.

Мой метод поиска ответственной проблемы был:

  • Итеративно шагайте назад по истории git, проверяя каждую фиксацию, пока не найдете первую раскадровку, которая не вызывает сбой Xcode.
  • После того, как у вас есть коммит, который начал сбой, проверьте HEAD и итеративно отмените изменения раскадровки в фиксации проблемы. Продолжайте сужать его, пока не получите один элемент пользовательского интерфейса или одну строку, которая вызовет сбой.
  • Верните ответственное изменение навсегда и перезапустите Xcode. Откройте раскадровку снова, и вы можете быть предупреждены о внутренней несогласованности. Согласитесь с предлагаемыми изменениями, которые делает Xcode, но просмотрите их.
  • При необходимости теперь вы можете попытаться воссоздать элемент пользовательского интерфейса или изменения с нуля, которые раньше вызывали проблему.

2

Я работал во вторичной ветке git, когда столкнулся с проблемой 255.

Я просто переключился на свою основную ветку git, очистил проект и запустил. Никаких проблем, как я и ожидал.

Затем я вернулся к «проблемной» ветке git и успешно восстановил ее.

Гремлины.


2

Со мной тоже случалось нечто подобное, используя Xcode 8.2.1 и iOS 10.2.

Я перешел на более раннюю версию устройства на симуляторе, и все заработало. Затем я переключился обратно, и это было исправлено.


2

Я понимаю, что если вы слишком долго используете Xcode, не закрывая его, Xcode станет совершенно бесполезным и выдаст вам случайную загадочную ошибку. поэтому я регулярно перезапускаю Xcode и все приложения, которые я запускаю на своем Mac, каждый раз, когда появляется подозрительная ошибка.

Xcode Cache
1-я попытка проверить все ваши классы контроллера segue / output / storyboard. когда-нибудь раскадровка будет отключена от установленного класса контроллера представления. (это может вызвать ошибку времени выполнения).

2-я попробуйте очистить свой проект и перейти (~ / Library / Developer / Xcode / DerivedData) и удалить кеш проекта. затем принудительно закрыть Xcode и перезапустить его.

3-я попытка проверить весь свой класс контроллера segue / outlet / storyboard. когда-нибудь раскадровка будет отключена от установленного класса контроллера представления. (это может вызвать ошибку времени выполнения).

4-я попытка проверки (скопируйте ресурс пакета, источник компиляции - Проект> Фаза сборки) убедитесь, что указанный файл существует с правильным адресом и папкой. когда-нибудь создание группы приведет к созданию папки, и компилятор не сможет найти файл

В-пятых, это также может быть вызвано тем, что перемещенный файл + Xcode становятся совершенно бесполезными и дают вам случайную загадочную ошибку. и dint обновить (скопировать ресурс пакета, источник компиляции - Проект> Фаза сборки) после того, как файл изменит каталог

Личная ошибка. непреднамеренное удаление
этого также могло быть вызвано вызовом удаленного ViewController или розетки


В разделе «Файл проекта»> «Параметры сборки»> «Цель развертывания iOS» отображаются только числа, а не «Последняя версия». Установка на iOS 11, затем на iOS 9, а затем обратно на iOS 11 не имела никакого эффекта. Версия 9.0 (9A235)
— Уильям Чернюк

@WilliamCerniuk с даты публикации этого ответа, я понимаю, что если вы слишком долго используете Xcode, не закрывая его, Xcode станет в конечном итоге бесполезным и выдаст вам случайную загадочную ошибку. поэтому я регулярно перезапускаю Xcode и все приложения, которые я запускаю на своем Mac, каждый раз, когда появляется подозрительная ошибка.
— Мухаммад Асыраф,

@WilliamCerniuk попробуйте очистить свой проект и перейти (~ / Library / Developer / Xcode / DerivedData) и удалить кеш проекта. затем принудительно закрыть Xcode и перезапустить его.
— Мухаммад Асыраф

@WilliamCerniuk попробуйте проверить весь свой класс контроллера segue / outlet / storyboard. когда-нибудь раскадровка будет отключена от установленного класса контроллера представления. (это может вызвать ошибку времени выполнения).
— Мухаммад Асыраф

@WilliamCerniuk попробуйте проверить (скопируйте ресурс пакета, источник компиляции - Проект> Фаза сборки) убедитесь, что указанный файл существует с правильным адресом и папкой. иногда создание группы может привести к созданию папки и компилятору не удастся найти файл
— Мухаммад Асыраф,

2

У меня была такая же проблема с использованием Visual Studio для Mac (сообщество, 7.4.2 (сборка 12)) после обновления ОС (macOS High Sierra 10.13.4).

В этом случае кажется, что вам просто нужно обновить Visual Studio и Xcode.

Обратите внимание, что, конечно же, Visual Studio не предоставляет обновлений Xcode, поэтому «уловка» заключалась в том, чтобы открыть последнее и позволить ему запускать обновления.


Это тоже была моя проблема - запуск xcode побудил меня переустановить необходимые компоненты и исправить это.
— matt.chatterley

Обновление до iOS 12.0 произошло и со мной. Просто нужно было запустить XCode в первый раз, чтобы он установил дополнительные компоненты и все готово!
— Dr TJ

1

Я также столкнулся с той же проблемой в Xcode 8. Удаление производных данных устранило мою проблему.

  1. Перейдите в папку ~ / Library / Developer / Xcode / DerivedData / и очистите папки внутри этого
  2. Перезапустите Xcode и Simulator и запустите свой проект ....!

Не удалось удалить производные данные для проекта или удалить ~ / Library / Caches / com.apple.dt.Xcode (обычно поврежденный кеш)
— Уильям Чернюк

0

Это случилось после некоторой работы с раскадровкой. Я кое-что отменил, и оказалось, что это простой UIButton, добавленный в представление. Удалил это, и он построен без ошибок. Просто добавил новую кнопку, и она сработала.

Для более подробного объяснения ... Кнопка была скопирована с одного прототипа TVCell на другой. Думаю, в копии произошла некоторая путаница. Просто рад, что я не сильно изменился перед тем, как попытаться построить.


0

В моем случае это произошло после переименования некоторых пространств имен, и я решил ту же проблему, перейдя в свойства проекта> вкладка ПРИЛОЖЕНИЕ> Пространство имен по умолчанию: предоставив новое правильное пространство имен.

Конечно, я изменил пространство имен также внутри классов, но это поможет, потому что исправит все автоматически сгенерированные файлы. Рекомендуется очистить и построить и в конечном итоге закрыть и снова открыть решение.


0

Я столкнулся с той же проблемой, когда объединяю кодовую форму git с другим кодом разработчика. Я много раз пытался очистить свой проект. Но ничего мне не поможет.

Открываю раскадровку в исходном коде. Начать сравнение с последней работающей раскадровкой репозиториев. Затем я обнаружил, что один и тот же ярлык появляется два раза на одном экране. затем я удаляю один из них и сохраняю. Это помогает мне.

вы можете проверить свой xib или раскадровку.


0

У меня была эта ошибка, потому что я переписал <view>в <imageView>, редактируя раскадровку как исходный код.

Я думал, что это быстрое и грязное решение сработает для замены некоторых пользовательских классов (подкласса UIView) на UIImageViews.


Всем хвала GIT.


0

Вот что вызвало у меня проблему: я пытался использовать симулятор iOS 8.0 с Xcode 5.0.2. Я вставил симулятор iOS 8.0 по следующему пути - / Applications / Xcode \ 2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs В результате я смог увидеть симулятор iOS 8.1, видимый в раскрывающийся список в Xcode 5.0.2, но это привело к ошибке компиляции libtool. Я удалил симулятор с пути, и он заработал после перезапуска Xcode. Теперь, чтобы использовать симулятор iOS 8.0, я использую Xcode 6.1.


0

Я исправил ошибку этой командой, закройте симулятор и Xcode:

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

Надеюсь, это поможет.


Как с этим связано кодовое обозначение. когда я просто пытаюсь построить на симе
— Аликс

0

Я получал эту ошибку при создании для 10.9 файла .XIB, созданного в XCode 6.4 (10.10).

Смотрите этот ответ . XIB запрашивал labelColor, который был введен в 10.10 и был неизвестен в 10.9.

Открытие XIB в качестве источника предотвратило сбой XCode и позволило мне изменить экземпляры labelColor на textColor, и ошибка была устранена.


0

Как упоминает выше Логан Гифс, это, по-видимому, вызвано переходами контроллера интерфейса (т. Е. Петлями). Удаление «плохих» переходов на самом деле не решает проблему навигации. Что необходимо, так это стратегически разместить некоторые действия кнопок для [контроллеров всплывающих окон].

Вот код, который у меня сработал:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }

0

Немногие упоминали, что проблема была связана с переходами, моя тоже была, хотя она не всплыла сразу после того, как я добавил новый переход, и я смог запустить приложение несколько раз, внести некоторые изменения, добавить новые представления до того, как это произошло, так что не игнорируйте это. Я удалил некоторые из контроллеров и отменил, если это не помогло. Если проблема заключается в переходе, вы можете создать его, но не сможете добавить этот переход, поэтому заново создайте весь контроллер представления, если это приемлемый вариант. Копирование и вставка, похоже, не работали, хотя я не пытался удалить соединения IBOutlet.


0

Это начало происходить со мной, когда я установил и начал использовать бета-версии XCode 9. Когда я начал изменять хорошие проекты в версии 8.3, раскадровки были повреждены из-за этой ошибки, и XCode вылетел. На моем компьютере был установлен XCode 7.x, 8.3 и 9. Я удалил их все (и удалил все связанные файлы), а затем переустановил 8.3 из App Store. Раскадровки моего проекта все еще были повреждены, но я смог восстановить из резервной копии, и теперь все в порядке, пока я продолжаю.
Не уверен, связано ли это с 9 бета-версией или нет.


0

В моем случае эта проблема возникла после того, как я вручную разрешил конфликт слияния в файле «project.pbxproj». В XCode выберите проект-> цель-> BuildPhases-> CopyBundleResources. Там я удалил несколько повторяющихся файлов, которые отображались пустыми значками (в отличие от значков файлов XIB). После этого сборка прошла без проблем.


0

Я получил эту ошибку сегодня в новом проекте, тестируя ARKit для iOS с помощью шаблона проекта «Приложение дополненной реальности».

После перемещения некоторых файлов .scn из корневого проекта в папку art.scnassets я начал получать ошибку кодового знака, и ничто из того, что я сделал, не помогло ее решить.

Я пробовал все предложения в этом потоке (чистые, чистые производные данные, перезапуск Xcode, перезапуск Mac, поиск повторяющихся идентификаторов в файлах раскадровки) ... но то, что заставило меня работать, заключалось в следующем:

  • зафиксировать и отправить мои изменения в мой проект git
  • полный сброс до предыдущей фиксации
  • очистить производные данные и успешно запустить
  • полный сброс до последней фиксации

... и теперь это сработало ... так что я предполагаю, что это была какая-то ошибка в обработке git XCode ???


0

В XCODE 9 одной из причин этого является ошибка в XCODE 9.1 со старыми файлами .XIB.

Fix:

  1. Обновление до XCODE 9.2

  2. Все ваши файлы .XIB должны иметь версию iOS 8.1 или выше.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.