Почему я получаю ошибку 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.