在Xcode静态库中包含框架?

19

简而言之:

在Xcode中是否有一种方法可以创建静态库,使得客户端在链接该库时同时链接依赖于该库的框架?

问题:

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

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

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

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

这样能正常工作吗?有更好的方法吗?

谢谢!


2
你好,能否告诉我你是否找到了解决方法?因为我也遇到了同样的问题。 - shoujo_sm
2个回答

2
简而言之:否,静态库只是一堆 .o 文件。
一种解决方案是将您的公共代码重构为“静态框架”,请参见 此处 可能的解决方案。

我对该链接的理解是,“静态框架”基本上是一个带有捆绑头文件的静态库。如果我的理解正确,并且静态库不支持我想要的功能,那么“静态框架”也不会。 - Jon-Eric
同意 @Jon-Eric 的观点。 - Some Developer

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接