如何在同一工作区的另一个项目中包含Swift框架项目

时间:2018-08-02 23:23:13

标签: ios objective-c swift ios-frameworks

我有一个带有项目层次结构的工作区设置,我们将它们称为“ A”,“ B”和“ C”。

项目'C'是一个编译为静态库的C ++项目-在这里没有问题。

项目'B'是一个混合的Swift / Obj-C框架,将项目'C'作为依赖项进行链接。这样可以正常工作,并且框架可以自行编译。

现在的问题是: 项目“ A”是一个iOS项目,在其“构建阶段”中包含“ B”作为链接的二进制库。当我尝试编译'A'时,我从项目'B'中的Obj-C桥接标头中收到构建错误,提示找不到标头。

看来,当我从“ A”中选择目标时,正在使用项目“ A”中的构建设置来构建项目“ B”中的框架。好的。我尝试将'B的目录添加为User Header Search Path。当我这样做并尝试构建'A'时,我得到关于在import B的'A'中的类中作为B的一部分编译的类的重复定义的错误,并且重复的定义源自所包含的标头在“ B的Obj-C桥接头”中。

我将框架中的标头配置为复制到框架的Public标头中。如果我将它们从Public移回到Project,并且在'A'的User Header Search Path中包含'B's头,那么我就不会遇到这个问题。

我确定我只是缺少某些配置,但我不知道它是什么。

我如何在与主应用程序相同的工作空间中将项目构建为框架,并将其作为独立的,自包含的(包含标题等)依赖项包含在我的主iOS应用程序中?

0 个答案:

没有答案