Ios Swift框架:公开objective-C子项目的标题
我的swift cocoa touch框架包含子项目,它是一个Objective-C静态库。(旋转叶映射组件) 现在,我希望将其类公开给我的swift代码。Ios Swift框架:公开objective-C子项目的标题,ios,xcode,swift,Ios,Xcode,Swift,我的swift cocoa touch框架包含子项目,它是一个Objective-C静态库。(旋转叶映射组件) 现在,我希望将其类公开给我的swift代码。 如果我只是将#include“MaplyComponent.h”添加到伞形标题中,我将获得框架模块中非模块标题的include,即使在构建设置中将允许框架模块中的非模块包含设置为YES 另一种方式: 演示如何创建module.map文件为了将标题包装到Swift模块中,我做了完全相同的操作: module MaplyComponent [s
如果我只是将
#include“MaplyComponent.h”
添加到伞形标题中,我将获得框架模块中非模块标题的include
,即使在构建设置中将允许框架模块中的非模块包含设置为YES
另一种方式:
演示如何创建module.map
文件为了将标题包装到Swift模块中,我做了完全相同的操作:
module MaplyComponent [system] {
header "/Users/hurden/Developer/repositories/OSMViewer/OSMKit/WhirlyGlobe/WhirlyGlobeSrc/WhirlyGlobe-MaplyComponent/include/MaplyComponent.h"
export *
}
然后,import-MaplyComponent
将使一切正常,我可以调用API,运行和测试,但是Xcode的SourceKitService将无法解析实际的头文件-没有代码完成,变量类型是
,等等,所以在我看来这不是正确的方法
有什么建议吗?(在伞形标题中,应该有导入子项目标题的方法)
更新:
我可以通过链接二进制发行版而不是源发行版来解决问题。(但是,它涉及到从框架内部到项目的可怕的头复制…)