Сбой сборки с ошибкой "Команда выполнена с ненулевым кодом выхода"

Когда я пытаюсь собрать свое приложение с XCode, ошибка прерывает процесс сборки:

CompileStoryboard команды CompileStoryboard с ненулевым кодом CompileStoryboard

Иногда вместо этого отображается эта ошибка:

CompileSwift команды CompileSwift с ненулевым кодом CompileSwift

У меня включена новая система сборки.

Что я могу сделать, чтобы это исправить?

Ответ 1

Когда вы прекращаете сборку проекта, когда компилятор находится в середине чего-то "важного", эта ошибка может появиться. В этом случае повторная сборка проекта и его завершение обычно приводит к исчезновению этой ошибки.

Ответ 2

Закрытие Xcode для меня не имело никакого эффекта. Вместо этого я очистил проект, используя Command Shift K.


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

enter image description here

Ответ 3

Это известная проблема с Swift 4.2 и Xcode 10. Я нашел здесь статью, которая исправила ее для меня: https://github.com/Yummypets/YPImagePicker/issues/236

Короче говоря, перейдите к настройкам сборки ваших проектов, добавьте пользовательский параметр с именем SWIFT_ENABLE_BATCH_MODE и установите для него значение NO.

Ранее я пробовал каждый из предложенных здесь методов (перестройка, выход из Xcode, очистка и перестройка, очистка файлов производных данных). Никто из них не работал.

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

Ответ 4

Эта ошибка произошла со мной, когда я забыл изменить свойства объекта перед созданием подкласса NSManagedObject. Решено:

  1. удалите Entity+CoreDataClass.swift и Entity+CoreDataProperties.swift.
  2. в "классе" инспектора модели сущностей замените "модуль" на Current Product Module и "кодовый код" на Manual/None.
  3. воссоздать NSManagedObject.

image

Ответ 5

Я также столкнулся с той же проблемой в xcode 10 и попробовал все предоставленные решения, но ничего не работал.

Затем я удалил все файлы и папки из следующей папки:

/Users/meenakrishna/Library/Developer/Xcode/DerivedData

и это работало как шарм.

Ответ 6

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

Ответ 7

У меня была ошибка Command LinkStoryboards failed with a nonzero exit code, и я обнаружил, что использовал внешнюю раскадровку со ссылкой на несуществующую раскадровку. Недавно я изменил имя файла раскадровки, поэтому изменение ссылки со "старого" на "новое" решило это для меня.
У вас может не быть той же самой ошибки, что и у меня, но более простой способ найти более подробное объяснение этой ошибки заключается в следующем:

  • Показать навигатор проблем (пока отображается ошибка времени сборки)
  • Нажмите на ошибку: Click the error in the issue navigator
  • Затем вы должны увидеть больше об ошибке: Command LinkStoryboards failed with nonzero exit code


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

Ответ 8

В моем случае у меня была чистая папка сборки, затем перезапусти мой Mac, после чего он заработал

Ответ 9

У меня был JSONwebtoken модуль JSONwebtoken и это вызывало проблемы. Мне нужно было удалить папку CommonCrypto, которая находится в JSONWebtoken pod JSONWebtoken. Вот ссылка ->, объясняющая проблему. Это начало происходить в Xcode 10.

Ответ 10

В моем случае я использовал слишком сложные инициализации внутри расширения класса. Это внезапно сломало мою сборку.

class MyClass { }
extension MyClass {
static var  var1 = "", var2 = "", var3 = "", var4 = "", ...., var20 = ""
}

Постановили:

class MyClass { }
    extension MyClass {
    static var var1 = "",
    static var var2 = "",
    static var var3 = ""
    static var var4 = "", ...., 
    static var var20 = ""
    }

Ответ 11

В моем случае это был пустой каталог активов, когда я его удалял, все снова было хорошо.

Ответ 12

Сбой команды CompileSwift с ненулевым кодом завершения

Эта ошибка возникает при переносе кода из Xcode 9 в Xcode 10+. Это связано с тем, что любое имя класса конфликтует с существующими классами Apple. Например: состояние, событие и т.д.

  1. Поэтому сначала измените имя класса/структуры, если оно существует в вашем коде, например "State", на "StateDetail".

  2. Если в целевой объект добавлен Info.plist, уберите с него галочку, чтобы он не копировал комплект приложений (последняя причина безопасности Xcode10).

    • Выберите файл Info.plist и снимите флажок в поле "Целевое членство" в правой части инспектора идентификации.

И построить код снова !!!

Ответ 13

Переход на устаревшую систему сборки исправил проблему для меня

Ответ 14

В моем случае проблема заключалась в том, что я назначил класс .swift viewController в раскадровке, в то время как проект был Objective C.

Ответ 15

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

SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";

это работает для меня

Ответ 16

Если вы столкнулись с такой ошибкой в новой версии MacOS.

xcrun: ошибка: неверный путь активного разработчика (/Library/Developer/CommandLineTools), отсутствует xcrun в: /Library/Developer/CommandLineTools/usr/bin/xcrun

Это означает, что вам нужно установить командную строку XCode, открыть терминал и запустить эту команду:

$ xcode-select --install

Ответ 17

В xcode 10.1 все еще есть ошибка, просто очистите проект и попробуйте снова.

Ответ 18

В моем случае это было переименование файла в существующий файл в другой папке (группе) по ошибке, просто переименуйте его в то, что было, тогда ошибка исчезла

Ответ 19

Цели должны быть указаны с соответствующими данными, такими как appicon

Ответ 20

Очистка папки Build из меню продукта делает свою работу, но каждый раз, когда я меняю тип симулятора (модель iPhone), он снова и снова выглядит как ошибка Xcode. Я использую Xcode-10.1.

Ответ 21

Поскольку у этой проблемы, похоже, есть десятки возможных решений, а первопричина может быть очень расплывчатой, я перейду к своей ситуации. Половина моих модулей не CompileSwiftSource с какой-то CompileSwiftSource, но только в архиве. Я все еще был в состоянии построить для устройства и симулятора просто отлично. Я попробовал многие (если не все) решения, предложенные здесь, но не повезло. В одном из модулей перед ошибкой CompileSwiftSource произошла немного другая ошибка, поэтому я перешел к обновлению и попытался исправить этот единственный модуль. Это была библиотека Cache для iOS, которая давно не обновлялась. Был ответвление, которое решало проблему с обновлением до Xcode 10.2, которое я смог обновить до и после этого, все другие проблемы решили сами. Так что ищите один выброс в ваших модулях, если вы получаете кучу их ошибок и начните с них.

Ответ 22

Для меня проблема была в том, что в моем Podfile я не помещал use_frameworks! , Я просто раскомментирую эту строку, снова запустив pod install на терминале. И это исправлено.

Это было прокомментировано, так как приложение было полностью сделано на Objective-C. Поскольку приложение теперь использует Swift, мне пришлось внести это изменение в Podfile

Ответ 23

У меня была та же ошибка. Перезапуск XCode и перекомпиляция. Исправил проблему для меня.

Ответ 24

Я столкнулся с этой ошибкой, когда обновлял свой проект с Swift 4 до 5. Сначала я обновил все свои модули до их последних версий. Когда я строил, некоторые модули показывали эту ошибку.

Следующие шаги решили эту проблему для меня:

  1. Удалены все Podfile из Podfile
  2. Выполнена pod install для удаления всех установленных pod install
  3. Выполняется pod deintegrate для удаления поддержки CocoaPods
  4. Podfile.lock и .xcworkspace из моего проекта, поэтому больше нет CocoaPods
  5. Теперь мой проект - чистый проект Xcode
  6. Открыл мой проект из обычного файла .xcodeproj
  7. Изменена версия Swift моего проекта на Swift 5
  8. Убрал проект (cmd + shift + K)
  9. Вышли Xcode
  10. Восстановил все pods в мой Podfile
  11. Выполнена pod install для реинтеграции CocoaPods и добавления моих pods
  12. Открыл проект из файла .xcworkspace
  13. Очистить и восстановить
  14. Некоторые старые модули, которые все еще использовали Swift 4.0 (в моем случае SlideMenuControllerSwift) были установлены на Swift 5.0, вызывали много ошибок сборки в их коде. Я исправил его обратно в Swift 4.0, открыв проект Pods и выбрав его цель.
  15. Убирается снова, перестраивается.

Теперь у меня есть только ошибки в моем собственном коде проекта, связанные с различием в версии Swift, которую я сделал. Моя работа сейчас состоит в том, чтобы исправить их.

Ответ 25

Мне помогло установить Compilation Mode для Incremental для всех конфигураций в настройках Target Build Settings. В режиме компиляции Whole module меня появились ошибки. Но эта настройка сделала проект медленнее.

Ответ 26

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

Ответ 27

То, что вызывало эти ошибки для меня (я получал 8+ для некоторых из моих кокаподов), было исправлением любых проблем сборки во время выполнения во всех модулях.

Ответ 28

Перейдите в настройки сборки своих проектов и добавьте пользовательский параметр с именем SWIFT_ENABLE_BATCH_MODE и установите для него значение NO.

Ответ 30

Я столкнулся с подобной проблемой. я сделал

  • чистый проект - не работал
  • Удалить папку производных данных - не работает
  • Изменить систему сборки на Legacy Build Settings - не сработало
  • Перезапустите XCode - не работает
  • Прокомментируйте часть моего кода, typedef NS_ENUM в файле .h и перечислите связанные работы. Создайте систему и продемонстрируйте успех. Далее откомментируй код и собери заново - Волшебно работает