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

现在,我需要使用afneworking的最新版本(且漏洞较少),但是我不能在项目中(当然)两次包含相同的类,因为所有“重复的符号”。

我知道无法替换库中包含的版本,但是如何在旧版本中包含另一个版本?

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

谢谢

最佳答案

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

使用以下命令解压缩库:

$ ar x libwhatever.a

并重新打包它,包括除AFNetworking对象文件以外的所有文件:
$ ar cr libwhatever.a file1.o ... fileN.o

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

关于ios - 使用同一库的两个版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20663673/

10-14 21:52
查看更多