我正在一个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/