Xcode 10.2, Swift 5, команда compileSwift завершилась неудачно при сборке программы с помощью Release Scheme

Я использую Xcode 10.2, Swift 5.

При использовании схемы отладки никаких проблем не возникает, но при использовании схемы выпуска при сборке или архивировании она показывает, что команда compileSwift завершилась неудачно с ненулевым кодом завершения.

Я попытался удалить DerivedData/Clean/pod deintegrate & pod install & pod update. Ни одна из этих работ.

enter image description here enter image description here

Ответы

Ответ 1

Я исправил эту проблему, перейдя в Pods Project, затем в настройки здания и установив режим компиляции в Incremental for Release. Затем очистите и заархивируйте, затем должны скомпилироваться.

Ответ 2

Для моего проекта проблема была связана с pac Cache который выдает ошибку, когда для Optimization Level для Release установлено значение Optimize for Speed [-O]. Я снова установил Compilation Mode на Whole Module и установил уровень оптимизации для модуля в файле модуля:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    # Cache pod does not accept optimization level '-O', causing Bus 10 error. Use '-Osize' or '-Onone'
    if target.name == 'Cache'
      target.build_configurations.each do |config|
        level = '-Osize'
        config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = level
        puts "Set #{target.name} #{config.name} to Optimization Level #{level}"
      end
    end
  end
end

Ссылка: https://github.com/hyperoslo/Cache/issues/233#issuecomment-477749560

Ответ 3

Поэтому у меня возникла та же проблема при обновлении моего проекта до Swift 5. По какой-то причине Cocoapods (последняя версия, 1.6.1) установили SWIFT_VERSION некоторых модулей в Swift 5, даже если они выпущены как модули Swift 4, 4.1, 4.2. Поэтому мне пришлось добавить сценарий после установки, который установит корректирующую версию swift примерно так

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'CryptoSwift' || target.name == 'SwiftyBeaver'
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '4.2'
      end
    end
  end
end

Ответ 4

У меня была такая же проблема после обновления до Xcode 10.2. После выполнения шагов ниже это сработало для меня:

  1. Обновить стручки
  2. Очистить папку проекта
  3. Измените версию модуля Swift Language Swift на Unspecified и (как предложено @Neil Faulkner) режим компиляции на инкрементный

Ответ 5

Мне пришлось установить "Уровень оптимизации" в "Компиляторе Swift - Генерация кода" на "Выпуск" - "Без оптимизации [-Onone]" из "Оптимизация по скорости", чтобы Cache передавал архив.

То же самое с SwiftyBeaver

Кажется, проблема связана с Xcode 10.2. Кроме того, другие проекты с пакетом, похоже, подходят для оптимизации, такие как Toucan или XCGLogger.

Ответ 6

Вы можете следовать этим шагам...

  1. Обязательно измените версию Swift на текущую версию.
  2. Обновите все ваши стручки.
  3. Очистите все производные данные Xcode.
  4. Теперь перезагрузите ваш Mac.

Вы получаете все эти ошибки только из-за pods.. так что либо вам нужно обновить каждый pod, который вы используете.

Ответ 7

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