Xcode创建framework,选择语言Swift。在使用Swift语言编写framework时,如果要引入Objective-C的代码或者其他Objective-C的库,可能会报错“using bridging headers with module interfaces is unsupported”。这通常是因为在模块接口中使用了桥接头文件(bridging-header),而这是不被支持的,
一般有两种解决办法:
一、如果这个framework不需要对外发布,那么将Build Setting里的Build Library For Distrubution 设置为NO,则可以继续使用桥接头文件(bridging-header)。
二、使用module map文件替换桥接头文件(bridging-header),具体操作如下:
1、在framework工程里创建一个头文件,如Test.h
在Build Setting里设置User Header Search Paths,如$(SRCROOT)/$(PRODUCT_NAME)
。设置的路径需要能找到Test.h
文件
2、在Test.h
文件里引入需要引用的Objective-C头文件
#import <MyLib/MyLib.h>
3、创建一个module map文件,module.modulemap
,内容如下
module TestModule (名字自定义) {
header "Test.h"
export *
}
4、在Swift文件里,使用import指令,然后就可以调用Objective-C的方法了
import TestModule
发表回复
要发表评论,您必须先登录。