我有一个Objective-C框架(框架A),该框架公开了一些公共和私有标头。公共头文件也在框架的伞头文件中声明。我有第二个Swift框架(框架B),它与Objective-C框架链接。
现在,如果要在BI中导入A的公共标头,只需要做一个即可import A
。
但是如何导入私有标头?
我知道桥接标头不是一种选择,因为框架不支持该头。我是否需要以某种方式为专用标头创建单独的伞形标头?
您需要修改framework A
,以便它导出私有模块。
在项目中创建一个私有模块映射文件A
。这将是这样的:
A / private.modulemap:
explicit module A.Private {
// Here is the list of your private headers.
header "Private1.h"
header "Private2.h"
export *
}
在框架A
目标的“构建设置”中,搜索“专用模块映射文件”行,并进行以下操作:
$(SRCROOT)/A/private.modulemap
不要private.modulemap
在“编译源”中包含文件。这会导致不必要的警告。
清理并构建框架A
目标。
在框架B中,Swift文件。您可以这样导入私有模块:
import A
import A.Private
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句