«Преобразовать в последний синтаксис Swift» прерывает сборку, даже если нет изменений

Мой проект находится в Objective-C только с одним tableviewcontroller в Swift. Сегодня я загрузил бета-версию Xcode, которая побудила меня «преобразовать в последний синтаксис Swift». После того, как я выполняю шаги, он показывает мне, что изменений нет. Я тоже не вижу никаких изменений в файле proj, но в нем есть ошибки. Обратите внимание, что я не вижу ошибок, когда выбираю не использовать последний синтаксис swift — в этом случае приложение строится и работает нормально.

Есть идеи, почему он ломается?

Добавлен скриншот

Вот ошибки -

  • не удается проанализировать карту отладки для «имя приложения». Нет такого файла или каталога.
  • clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов)
  • другие ошибки заключаются в том, что он не может найти файл swift. Класс swift был инициирован в классе Objective-C.

person pkaur    schedule 12.06.2015    source источник


Ответы (4)


Product -> Clean помогло в моем случае.

person 0x416e746f6e    schedule 12.06.2015
comment
@sss, помогло ли другое предложение (от Павла)? - person 0x416e746f6e; 03.11.2015

Переключить ENABLE_BITCODE на NO в project build settings мне помогло.

person Pavlo Shadov    schedule 18.09.2015
comment
@ViruMax рад помочь ;) - person Pavlo Shadov; 28.09.2015
comment
Это может быть проблемой для приложений магазина приложений. - person Lior Pollak; 07.08.2016

У меня была похожая проблема, и я исправил ее, изменив build phases/compile sources в проекте:

Я добавил новые источники, которые нужно было скомпилировать ранее в проекте, и после того, как я удалил файлы, когда я попытался собрать проект, он сказал, что отсутствуют файлы, которые я удалил. После удаления нескольких фаз сборки, которые выглядели так, как будто они не были фазами сборки по умолчанию, все заработало нормально. Я обнаружил, что по умолчанию было 4 источника компиляции.

Кроме того, использование Ctrl+Shift+K очистит ваш проект, что помогло мне в другой раз с такой ошибкой.

person Quinn H.    schedule 07.08.2016
comment
Что именно ты изменил? - person technico; 07.08.2016
comment
Я добавил новые источники, которые нужно было скомпилировать ранее в проекте, и после того, как я удалил файлы, когда я попытался собрать проект, он сказал, что отсутствуют файлы, которые я удалил. После удаления нескольких фаз сборки, которые выглядели так, как будто они не были фазами сборки по умолчанию, все заработало нормально. Я обнаружил, что по умолчанию было 4 источника компиляции. Кроме того, использование Ctrl+Shift+K очистит ваш проект, что помогло мне в другой раз с такой ошибкой. - person Quinn H.; 13.08.2016
comment
Отлично ! Теперь у всех есть лучшие подсказки, чтобы раскрыть это дело. Я обновил ваш ответ этим соответствующим комментарием. - person technico; 13.08.2016

У меня была такая же проблема, и ни один из приведенных выше ответов не помог. По-видимому, моя проблема заключалась в том, что у меня был импорт с использованием файла .m вместо файла .h.

Самый простой способ найти и исправить это - Find > Find in Project... и найти #import.*m и изменить их на соответствующий файл .h.

person Chris Stillwell    schedule 22.12.2015