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

Ошибка компилятора прерывистой командной строки Swift

Я тестирую Swift в бета-версии XCode. В частности, используя @IBDesignable и @IBInspectable. Я создаю инфраструктуру, содержащую подкласс UIView (@IBDesignable) и приложение Simple iOS, чтобы проверить его (оба включены и связаны через рабочее пространство). После нескольких успешных сборок я получаю следующую ошибку в выходе сборки фрейма:

: 0: ошибка:/Users/richardpj/Projects/Swift2/Swift2FW/build/Swift2FW.build/Debug-iphonesimulator/Swift2FW.build/unextended-module.modulemap-2: заголовок зонтика 'Swift2FW.h' не найден : 0: ошибка: не удалось создать модуль Objective-C 'Swift2FW'

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

Любые идеи об источнике ошибки, как реплицировать (для отчета об ошибке) ИЛИ я тупой.

EDIT: Я получил 50 просмотров, так как это было опубликовано. Кажется, это ошибка, о которой я должен сообщить. Любые идеи о том, как это сделать?

4b9b3361

Ответ 1

При создании моей собственной быстрой структуры я получил ошибку "не смог построить модуль Objective-C".

Я исправил это, перейдя в "Link Binary With Libraries" и добавив "UIKit".

Ответ 2

Если вы пишете встроенную фреймворк в Swift, проверьте настройки Project → Target Target Name → Build Phases → Headers. В настоящее время (Xcode 6.2) любой заголовочный файл, указанный в разделе Public, может вызвать эту ошибку:

<unknown>:0: error: could not build Objective-C module 'YourFrameworkName'

Ответ 3

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

Ex. Project Name: TestProject
|_
  TestProject.h <=
  |_
    Models
    |_
      TestProject.swift <= 

Наличие двух файлов со стрелками (< =) по имени одинаково вызвало ошибку "не удалось построить модуль Objective-C".

Ответ 4

В моем случае у меня был предыдущий параметр сборки, который перегружал путь к папке Public Headers (PUBLIC_HEADERS_FOLDER_PATH). Очистка этого значения (new?) По умолчанию $(CONTENTS_FOLDER_PATH)/Headers исправила ошибку.

Ответ 5

В моем случае все, что мне нужно было сделать, - открыть окно "Редактировать схему" (Продукт > Схемы > Изменить схему) для встроенной цели Swift Framework и снять флажок "Shared". Я думаю, потому что не встроенные фреймворки Swift еще не поддерживаются, совместное использование схемы структуры подразумевает, что должен быть компонент Objective-C модуля.

Вы также можете снять этот флажок в окне "Управление схемами" (Продукт > Схемы > Управление схемами...).

Ответ 6

После многократного использования этой проблемы и когда-либо прибегающего к воссозданию всего проекта, я обнаружил, что эта очень странная проблема сборки обычно вызвана тем, что у вас установлен Breakpoints.

Откройте окно навигатора точки останова (CMD-7) и удалите все точки останова.

Это обычно исправляет эту проблему для меня, как бы странно это ни звучало.

Очень легко случайно добавить точку останова, когда вы нажимаете на поле, чтобы исследовать ошибки компиляции.

Ответ 7

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

Ответ 8

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

Я предполагаю, что это происходит потому, что это гарантирует, что структура будет построена до того, кто ее использует.

Причина, по которой эта проблема прерывистая, очевидно, заключается в том, что без зависимости порядок построения неопределенен - ​​поэтому иногда это правильный порядок и работы по строительству, а в других случаях это неправильный порядок и Ошибка сборки.