ios Standard Framework和Umbrella Framework

Standard Framework:标准库,通过引用对应的header文件而不是引用master header 文件来引用类(也可以通过引用Master Header file来引用需要使用的类),只需要暴露对应的header文件到Header文件夹下即可,不强制引用master header文件,不能包含子framework。

Umbrella Framework:包罗框架,必须引用master header文件,可以包含子framework,但是头文件不能直接引用子framework的东西.

规范写法:

Umbrella Framework默认会创建一个同名.h文件最为Umbrella Header文件。规范的写法当然是遵从默认的模式, 将所有需要暴露的头文件都写在Umbrella Header文件中。比如:

aa.framework工程会默认创建aa.h头文件,只需要把暴露的头文件写在aa.h即可,在需要调用的主工程中, 仅仅只要将Umbrella Header引用即可调用所有在Umbrella Header中包含的类了。

如果想修改master header文件,创建一个aa.modulemap文件,在Build Settings -> Packaing -> Module Map File指定这个aa.modulemap文件,

aa.modulemap文件内容为:

framework module aa {
  umbrella header "aa.h"

  export *
  module * { export * }
}
修改这里的umbrella header即可。

引用framework时如果编译报错Lexical or Preprocessor Issue - Umbrella header for module 'STDemoUI' does not include header 'testObject.h',

就知道怎么去修改了。

 

转载于:https://www.cnblogs.com/wenrisheng/p/6603618.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值