使用同一个库的两个版本

The*_*Guy 9 xcode ios afnetworking

我正在一个iOS项目中工作,该项目包括由另一家公司创建的静态库.该库包含旧版AFNeworking,我没有任何源文件.

现在我需要使用更新的(并且更少的bug)版本的afneworking,但我不能在项目中两次包括相同的类(当然)因为所有"重复符号".

我知道更换库中包含的版本是不可能的,但是如何在旧版本中包含其他版本?

在我的项目中包含之前,有一种(简单)方法可以重构整个框架吗?

谢谢

tro*_*foe 3

您必须重新打包静态库才能删除嵌入的 AFNetworking 文件。

使用以下命令解压库:

$ ar x libwhatever.a
Run Code Online (Sandbox Code Playgroud)

并重新打包它,包括除 AFNetworking 对象文件之外的所有文件:

$ ar cr libwhatever.a file1.o ... fileN.o
Run Code Online (Sandbox Code Playgroud)

然后,您必须将可执行文件与新的 AFNetworking 静态库链接,并希望没有 API 更改会破坏libwhatever.a. 如果有的话我怀疑你能做很多事情。