ios - что - Команда CompileSwift завершилась неудачно с ненулевым кодом завершения в Xcode 10




xcode 10 что нового (16)

ERROR = Команда CompileSwiftSources завершилась с ненулевым кодом завершения

В моем случае, когда я обнаружил эту ошибку, я столкнулся с проблемой компиляции. Но когда я вижу ответы на некоторые проблемы. Я нашел файл дублирования в моем проекте. Где тот же viewController был там, как файл класса. Так что да, когда я понял это, я изменил название на новое. И да, все изменилось !!!

Добрый день,

После обновления до последней версии XCode в настоящее время (версия 10.0) проект не может быть собран, потому что он обнаружил некоторые ошибки относительно некоторой ошибки «Сбой Command CompileSwift с ненулевым кодом выхода».

Как мне решить эту ошибку? Они появляются в большинстве Pods (я использую CocoaPods), которые я использую в своем проекте.

Я попытался обновить версию pod и pods до последней доступной версии, но проблема все еще существует.

Я много искал в интернете и очень мало информации по этому вопросу.

С уважением.


В моем случае в разделе « Входные файлы карфагенского фреймворка » в фазах сборки была дублирующаяся запись для каркаса.


Вот решение: - Перейти к настройкам сборки - Поиск SWIFT_COMPILATION_MODE - Если это «Весь модуль» для конфигурации выпуска, измените его на «Инкрементный». - Архивировать сейчас.

Когда вы изменяете настройку на «Инкремент», процесс завершается успешно.


Для меня в сообщении об ошибке говорилось, что у меня слишком много файлов симулятора, открытых для сборки Swift. Когда я вышел из симулятора и собрал заново, все заработало.


Запуск pod install --repo-update закрытие и повторное открытие x-кода исправили эту проблему на всех моих модулях, в которых была эта ошибка.


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

Используя Xcode 10.1 и Swift 4.2, я попробовал почти все предложения здесь, но ни одно из них не сработало для меня, затем я понял, что используемая мной зависимость не совместима с Swift 4.2, и это заставило меня получить эту ошибку на других модулях. Поэтому, чтобы исправить это, мне просто пришлось заставить этот модуль использовать Swift 4.0, поместив в конец моего Podfile :

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['TKRadarChart'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.0'
            end
        end
    end
end

Моя проблема была в том, что у меня не было нативного Switf CommonCrypto, я использовал заголовок моста и цель, которая с некоторой магией включила его в сборку. Поскольку CommonCrypto теперь является нативным, я решил проблему, удалив цель и #import, и вместо этого добавил импорт CommonCrypto, где я его использовал.


Очистите приложение и попробуйте собрать его снова, используя команду Shift Option K, а затем команду B.


Позвольте мне поделиться своим опытом для решения этой проблемы.

Откройте цель -> Этапы сборки -> Копировать ресурсы комплекта и удалите info.plist.

Примечание. Если вы используете какие-либо расширения, удалите info.plist этого расширения из целей.

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


Просто добавлю к этому вопросу. Моя проблема не имела ничего общего с CommonCrypto. Он создал новое приложение Single App и протестирован для запуска. Компилятор жаловался на использование Swift 4.2

Изменение языка Swift на версию 4.0 в настройках сборки исправило проблему. Не уверен, что это ошибка.


У меня была эта проблема, и я изменил настройку режима компиляции для проекта с Инкрементного на весь модуль.


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

SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";

Я искал всю сеть, но я не мог найти решение этой проблемы. Мне удалось УДАЛИТЬ путь "Common Crypto" в разделе: Пути импорта в настройках сборки. Проблема, похоже, заключается в том, что «базовая криптография» теперь существует в фундаменте ios 12 sdk.

Так":

Просто удалите путь к файлу "crypto" в настройках сборки, и проект будет построен как шарм! :)


Я получил это случайно с Xcode 10 . Я думаю, что это происходит, когда я изменяю что-то в коде, когда начинается сборка. Следующая сборка работает каждый раз.


Я сделал следующее, и это работает как шарм:

  • Открыть настройки XCode ( команда , )
  • Перейти на вкладку " Locations
  • Нажмите на маленькую серую стрелку, которая показывает путь URL для Derived Data
  • Откроется окно поиска и отобразятся следующие папки:

    • DerivedData
    • Archives
    • iOS DeviceSupport
    • UserData
    • DocumentationCache
    • iOS Device Logs
  • Выйти из Xcode

  • Удалите папку DerivedData (она просто содержит кэш из предыдущих сборок)
  • Перезапустите Xcode

Я также столкнулся с той же проблемой, и я сделал то, что предложил @cdeerinck, и перешел по следующей https://github.com/Yummypets/YPImagePicker/issues/236 которой предлагалось добавить пользовательскую переменную в настройки сборки, чтобы отключить пакетный режим, т.е. добавить новую пользовательскую переменную с именем SWIFT_ENABLE_BATCH_MODE и установить для нее значение NO , Мне удалось получить более глубокое представление об этой проблеме, и я узнал, что ошибка была в структуре, использующей CommonCrypto, которая была добавлена ​​к нему (мной), но, начиная с Xcode 10, она предоставляется как часть Swift (только для платформ Apple). ), и добавление его (или его существование из предыдущей версии) вызывало конфликт имен и, следовательно, вызывало ошибку. Чтобы узнать больше, обратитесь к этой ссылке, которая объясняет проблему более подробно.





xcode10