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的行中显示错误“在框架模块中包含非模块化标题”.

如果我在.m文件中导入Mantle.h,这个问题就消失了,但是我不能这样做,因为我的类继承自Mantle中定义的MTLModel.

这个问题已经解决here,但它不是Swift特定的.

建议有(1)确保所有自定义框架头都是公开的.他们是.和(2)转到“目标”下的构建设置,并将“将框架模块中的非模块化包含”设置为“是”.

有人知道为什么会发生这种情况吗?将“允许框架模块中的非模块化”设置为“是”,这是一个好的做法?为什么这是一个错误

谢谢.

解决方法

在项目导航器中选择.h文件.在右侧的目标会员区域中,目标旁边有一个下拉菜单.选择“公共”(可能现在选择“项目”).

相关文章

背景 前端时间产品经理决定使用百度统计,使得 工程B 中原统计sdk-友盟统计,需要被去除。之前尝试去除...
结论: alloc负责分配内存和创建对象对应的isa指针; init只是返回alloc生成的对象。 所以alloc后,多次...
更新 如果UI愿意把启动图切割成n份,按一定约束在launchscreen.storyboard中进行排版,启动图效果会更好...
最近在看一本书《Effective OC 2.0》,今天看到有个tip是OC适中循环各自优劣性,作者最终推荐此块循环。...
// // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import &a...
背景介绍 一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但...