Подтвердить что ты не робот

Структуры Swift не работают с конфигурациями сборки, отличными от "Debug" или "Release": нет такого модуля

Всякий раз, когда я пытаюсь использовать конфигурацию сборки, отличную от "Debug" или "Release", Xcode внезапно не может найти мои структуры Swift. Конфигурации - это то же самое, что и их имя (фактически, новая конфигурация дублируется из рабочей конфигурации "Отладка" ).

Build configurations screenshot

Отчеты Xcode "Нет такого модуля"

Xcode error

Это похоже на действительно странную ошибку. Неужели кто-то сталкивался с этим раньше? Мой поиск Google не дал никаких результатов. Кто-нибудь знает, что может вызвать эту проблему? Я уверен, что правильно добавил фреймворк.

Я создал короткий скринкаст, чтобы показать вам, что именно я делаю: http://www.screencast.com/t/zpgZ5ZYgvH

Нижняя строка:

  • Убедитесь, что проект в настоящее время работает с использованием сторонних инфраструктур Swift.
  • Выберите проект в навигаторе проекта/файла
  • Выберите проект выше Цели на левой боковой панели редактора и убедитесь, что вы находитесь на вкладке "Информация"
  • Дублируйте текущую конфигурацию (вероятно, "Debug" ), нажав кнопку + под списком конфигураций и выбрав "Дублировать конфигурацию XXX"
  • Измените свою схему, чтобы использовать новую конфигурацию, выбрав "Продукт" (меню) > "Схема" > "Изменить схему...
  • Выберите "Выполнить" на левой боковой панели
  • Выберите новую конфигурацию в разделе Конфигурация сборки
  • Попытка построить снова

Вы также можете скачать образец проекта: http://s000.tinyupload.com/?file_id=48797763216274271820

Я запускаю Xcode 6.0.1 (6A317) и Yosemite 10.10 (14A361c).

4b9b3361

Ответ 1

Добавьте следующий Framework Search Path в Build Settings вашей цели: $(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME) и сделайте его non-recursive

В моем случае это было для Alamofire, который был добавлен в мой проект как подмодуль git.

Фреймворк строится правильно, что можно увидеть в журналах сборки, но я предполагаю, что путь поиска фреймворка по умолчанию получен из имени схемы. Структура Alamofire и файл dSYM находятся в Release-iphoneos/Release-iphonesimulator.

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

Ответ 2

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

Мои схемы сборки в моем основном проекте: main project configs

И схемы сборки внутри проекта Alamofire: screenshot of schemes

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

Ответ 3

Если вы используете CocoaPods, попробуйте pod install это сгенерирует некоторые файлы .xcconfig с вашим именем конфигурации. Очистите папку сборки и выполните сборку заново.

Ответ 4

Убедитесь, что вы открываете рабочую область, а не проект для своего проекта xcode. Ошибка "Нет такого модуля" может быть результатом, если вы откроете файл xcodeproj вместо xcworkspace. Пожалуйста, см. Комментарий capikaw:

Получение ошибки "Нет такого модуля" используя Xcode, но инфраструктура там