Сбой сборки Xcode 10 с 'Command CompileSwift завершился неудачно с ненулевым кодом завершения - PullRequest
0 голосов
/ 20 сентября 2018

Я недавно обновил XCode до версии 10 и начал получать странную ошибку при попытке построить мой проект.Я в настоящее время на Swift 4.0, и я попытался обновить до версии 4.2 Swift.Но когда я это сделал, я получил эту же ошибку во многих моих фреймворках.

Командная компиляция Swift не удалась с ненулевым кодом выхода

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

sudo gem install cocoapods-deintegrate cocoapods-clean
pod deintegrate
pod clean
pod install

Это не помогло решить мою проблему.Тем не менее, я нашел кое-что, что могло бы работать, добавив архитектуру arm64 в Build Setting -> valid architectures и включив автоматический код. Но, когда я проверил, это уже было, и подписывание кода уже было включено.

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

SwiftMessages

Значение типа 'SwiftMessages.Config' не имеет члена 'presentationContext'

WhatsNewKit

Отсутствует аргумент для параметра 'backgroundColor' в вызове`

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

Проблема в SwiftMessage GitHub Проблема в WhatsNewKit GitHub

Когда я нажимаю presentationContext, это приводит меня к структуре в SwiftMessages Framework.Обычно, когда я получаю предупреждение «не имеет члена», я не могу щелкнуть, чтобы увидеть исходное место, где оно существует.

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

Обновление: две последние сборки фреймворков были для swift 4.2.Когда я изменил версию каждого фреймворка на версию, встроенную в swift 4.0, я получил проект для сборки.

Ответы [ 13 ]

0 голосов
/ 08 июня 2019

В моем случае это была ошибка кода:

self.myDto.map{ (dto)} in 
      var stringValue = (dto.value(forKey: "name") as! String)
      stringValue.append("c")
      return stringValue
}

Только что удалили эту переменную stringValue, исправившую проблему.

0 голосов
/ 24 июня 2019

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

Итог, случайно не называйте ваши файлы одинаковыми именами и тщательно читайте коды ошибок!

0 голосов
/ 24 апреля 2019

Та же проблема произошла со мной в Xcode 10.2, это была ошибка Xcode ..!Итак, я открыл в более старой версии XCode (9.4), и он работал нормально.Затем я обновился до Xcode 10.2.1 после его выпуска -> Очистите и постройте свой проект, теперь моя проблема решена.

0 голосов
/ 06 мая 2019

У меня та же проблема, моя версия XCode 10.2.1 (10E1001), версия Cocoapods 1.7.0.beta.2.

Я вернулся к Cocoapods 1.6.1, и проблема быларешена.Для отмены интеграции:

  1. pod deintegrate.
  2. Удалите все Cocoapods.

    for i in $( gem list --local --no-version | grep cocoapods );
    do
        gem uninstall $i;
    done
    
  3. Установите стабильную версию Cocoapods.На данный момент это 1.6.1.

    gem install cocoapods
    
  4. Очистить проект и пустые DerivedData

  5. pod install
  6. Перекомпилировать проект
0 голосов
/ 27 марта 2019

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

enter image description here

0 голосов
/ 27 марта 2019

Я наткнулся на эту проблему при обновлении до Xcode 10.2 и Swift 5. Попробовав все, я нашел это в примечаниях к выпуску:

Компилятор Swift может вылетать во время сборки, когда Thread Sanitizerвключен.(48719789)

И, конечно же, после отключения Thread Sanitizer мой проект может быть скомпилирован без ошибок снова.

Так что, если вы получаете эту ошибку и включите Thread Sanitizer - включите еескидка!

0 голосов
/ 12 октября 2018

Установите версию Swift на 4.2, затем pod deintegrate, pod install, исправьте эту проблему для меня.Спасибо @ alejandro-iván

0 голосов
/ 25 декабря 2018

Все ответы были полезны для меня.В моем случае я устанавливаю фреймворки только вручную, но такая проблема также возникает.Я попробовал все ответы и все еще получал эту проблему во время сборки.Любопытно, что во время кодирования я мог щелкнуть кнопкой мыши и разрешить все «отсутствующие» компоненты.Я также очистил и удалил производные данные, перезапустил Xcode и т. Д.

В конце концов я получил его, выполнив следующие дополнительные шаги:

Вкл. каждый рамочного проекта / целей(включая мою собственную):

  • Проверка согласованной версии Swift (в моем случае 4.2)
  • Установите для Build for Active Architecture Only значение Нет
  • Установите для Valid Architecture значение arm64, armv7 (для соответствия базовому проекту)
  • Установите уровень оптимизации на Нет (для отладки)
  • Установите компиляциюРежим до Всего
0 голосов
/ 09 октября 2018

Убедитесь, что настройки сборки вашего проекта Уровень оптимизации в Нет оптимизации [-Onone].

enter image description here

0 голосов
/ 09 октября 2018

У меня было несколько фреймворков (доморощенных) плюс мое приложение.Каким-то образом они оказались несинхронизированы до версии Swift.Убедитесь, что все фреймворки имеют одинаковую версию.В моем случае все они должны были быть установлены на Swift 4.2.Если вы еще не выполнили переход на 4.2, помните, что Xcode помогает с этим: Правка -> Преобразовать -> В текущий синтаксис Swift.

...