安装包主要由可执行文件、资源组成
资源(图片、视频、音频)
- 采取无损压缩
- 去除没有用到的资源:https://github.com/tinymind/LSUnuseDResources
可执行文件廋身
编译器优化:
- Strip Linked Product、 Make Strings Read-Only、Symbols Hidden by Default设置为YES
- 去除异常支持,Enable C++ Exceptions、Enable Objective-C Exception设置为NO,Other C Flags添加-fno-exceptions
- 利用AppCode检测未使用的代码:菜单栏->Code->Inspect Code https://www.jetbrains.com/objc
- 编写LLVM插件检测出重复代码、未被调用的代码
LinkMap
-
生成LinkMap文件 ,可以查看可执行文件的具体组成
- 也可借助第三方工具解析LinkMap文件:
https://github.com/huanxsd/LinkMap