XCode6: ошибка получения включает немодульный заголовок внутри модуля фреймворка

У меня есть приложение для iOS, которое состоит из приложения, нескольких моих пользовательских фреймворков и множества сторонних фреймворков:

App
    MyFramework1
    MyFramework2
        AFNetworking.framework
        Mantle.framework
        ..

Я получаю сообщение об ошибке «Включить немодульный заголовок в модуль фреймворка» со следующей структурой:

App/AppDelegate.m
#import <MyFramework2/MyFramework2.h>

MyFramework2/MyFramework2.h
#import "MyClass.h"

MyClass.h
#import <Mantle/Mantle.h>        <-- Error happens here

MyFramework2 строит самостоятельно.

При попытке создать приложение возникает ошибка «Включить немодульный заголовок в модуль фреймворка» в строке, импортирующей Mantle.h.

Эта проблема исчезнет, ​​если я импортирую Mantle.h в файл .m, но я не могу этого сделать, потому что мой класс наследуется от MTLModel, который определен в Mantle.

Эта проблема решена здесь, но не Не для Swift.

Есть предложения: (1) убедиться, что все заголовки настраиваемой структуры являются общедоступными. Они есть. И (2) перейдите к параметрам сборки в разделе «Цель» и установите для параметра «Разрешить немодульные включения в модули платформы» значение YES.

Кто-нибудь знает, почему так происходит и как это исправить? Считается ли хорошей практикой установка «Разрешить немодульные включения в модули фреймворка» на ДА? Почему это ошибка?

Спасибо.


person bcattle    schedule 17.02.2015    source источник


Ответы (1)


Выберите файл .h в навигаторе проекта. В целевой области членства справа есть раскрывающееся меню рядом с целью. Выберите там «общедоступный» (возможно, прямо сейчас выбран «проект»).

введите описание изображения здесь

person Nikos M.    schedule 17.02.2015
comment
Обратите внимание, что это проблема, даже если вы включили параметр CLANG для параметра «Разрешить немодульные включения в модули платформы», что решает ваш ответ. Спасибо. - person Kendall Helmstetter Gelner; 01.04.2015
comment
@Nikos M. не могли бы вы добавить скриншот. Я не вижу этого раскрывающегося списка. Пожалуйста помоги. Большое спасибо - person Bonnke; 30.09.2015
comment
Где находится раскрывающееся меню для целевого членства? - person lenhhoxung; 04.11.2015
comment
@lenhhoxung это не раскрывающееся меню. Он находится на правой боковой панели со свойствами. - person Nikos M.; 05.11.2015
comment
@NikosM. Спасибо, но для меня это неприменимо, потому что файл заголовка устанавливается через cocoapods - person lenhhoxung; 05.11.2015
comment
мой общедоступен и до сих пор получаю это. :( - person zaxy78; 03.08.2016
comment
@ zaxy78 привет, как ты решил? Я столкнулся с тем же самым здесь после того, как обнародовал ... - person Shrikant K; 27.09.2016