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

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) перейдите в "Настройки сборки" под "Цель" и установите "Разрешить немодульные включения в Framework-модулях" на YES.

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

Спасибо.

4b9b3361

Ответ 1

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

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