19

简而言之:

有没有办法在 Xcode 中创建一个静态库,这样当客户端与该库链接时,它们也与该库所依赖的框架链接?

问题:

我们有一个共享的 Xcode 项目,其中包含多个包含我们所有公共代码的静态库目标。例如,如果一个项目想要使用共享网络代码,他们所要做的就是链接到我们的网络库中。

问题是这些库似乎没有“包含”它们所依赖的框架。

例如,我们的声音库使用 AudioToolkit.framework。即使 Sound 库在其链接库的列表中包含 AudioToolbox.framework,如果客户端不直接与 AudioToolkit.framework 链接,客户端在与 Sound 链接时也会出现链接器错误。

这是一个维护麻烦,因为每次库的框架依赖关系发生变化时,我们都必须手动更改所有依赖项目中的链接框架列表。

这应该工作吗?有没有更好的办法?

谢谢!

4

2 回答 2

2

简而言之:不,静态库只是一堆.o文件

一个解决方案是将您的通用代码重构为“静态框架”,请参阅那里的可能解决方案。

于 2009-12-15T16:14:20.187 回答
0

这个问题的新答案是,是的,有可能:使用 cocoapods!:)

http://cocoapods.org

于 2013-09-23T15:20:14.423 回答