iOS笔记 - 安装包瘦身
前言
1 - 项目最终会打成安装包(IPA),其主要是由可执行文件、资源组成
2 - 那么我么对安装包瘦身就可以从这两个方面考虑
安装包瘦身
1 - 资源(图片、音频、视频等)
① 采取无损压缩
② 去除没有用到的资源,这里就有个不错的开源项目 https://github.com/tinymind/LSUnusedResource
2 - 可执行文件瘦身
① 编译器优化
Build Settings 中把 Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default 置 YES
去掉异常支持。Build Settings 中把 Enable C++ Exceptions、Enable Objective-C Exceptions 置 NO,Other C Flags 添加 -fno-exceptions
② 利用 APPCode(付费软件)https://www.jetbrains.com/objc/ 检测未使用的代码:菜单栏 -> Code -> Inspect Code
③ 编写 LLVM 插件检测重复代、未被调用的代码(知道有这么一个方向即可,实现的话对于开发者也不太现实,需要大量的知识储备)
④ 生成 Link Map 文件,可查看可执行文件的具体组成(缺点就是项目一旦比较复杂分析起来就有点难搞)
⑤ 借助第三方工具解析 LinkMap 文件 https://github.com/huanxsd/LinkMap