在Xcode静态库中包含框架?

时间:2009-12-15 16:11:53

标签: iphone xcode frameworks shared-libraries static-libraries

简而言之:

有没有办法在Xcode中创建静态库,以便当客户端链接到该库时,它们还链接到该库所依赖的框架?

问题:

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

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

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

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

这应该有效吗?还有更好的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

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

解决方案是将您的公共代码重构为“静态框架”,请参阅there以获取可能的解决方案。

答案 1 :(得分:0)

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

http://cocoapods.org