第44月第6天 iOS静态库冲突 framework瘦身

1

Object-C的链接器并不会为每个方法建立符号表,而是为每个类建立链接符号。这样的话静态库中定义了已存在的类的分类,链接器就以为这个类存在了,不会将分类和核心类代码关联(合并)起来,这样在最后可执行文件中,就会找不到分类里所定义的方法。

三个Linker 参数:

  • -ObjC
  • -all_load
  • -force_load
  • -dead_strip (8.27日更新)

1)通过使用压缩工具命令 ar -t 去查看两个静态库文件里的目标文件那些存在冲突
如下:
 

https://www.jianshu.com/p/f7b0aa817cff

 2.framework瘦身

一、set Generate Debug Symbols to NO

三、删除不必的指令集

 

https://www.jianshu.com/p/f67740067b92

posted @ 2020-05-06 11:27  lianhuaren  阅读(249)  评论(0编辑  收藏  举报