2012-05-10 92 views
3

我正在处理几个具有良好共享代码的iOS项目,因此我正在静态库中收集该代码。具有共享依赖关系的多个静态库 - iOS

现在,让我们说,我有我的工作3个静态库:

  1. 库A包含通用的实用功能
  2. 库B包含一个组类
  3. 库C包含第二组类

(且A是B和C的依赖性)

现在,我的最终PR oject需要利用所有三个库中的功能。我知道A可以与B,C和我的最终项目静态链接,但是在那一点上我会得到一个链接器错误,因为有多个相同类的实现。

这样的情况应该如何处理?

回答

6

对于其他人想知道这件事,我发现你可以通过在每个库中包含头文件来获得我想要的行为,但只能与其中一个链接。

在我在我的问题中列出的例子,我的主要项目将针对A,B和C链接。然而,使用图书馆乙& C,可以包括B中& C A的头文件,但那么只能在根项目中对A进行链接。

如果有人有更好的建议,请随时分享。

另外,还有一个名为Cocoapods的项目,它是一个iOS依赖项管理器。似乎值得关注。