图片资源删减
使用工具查找未引用资源
LSUnusedResources 比之前的 Unused 好用,对于大型工程来说 Unused 效率太低
压缩 PNG
按照文件大小排列,看看是否有上百 K 的 PNG 图片,使用工具进行压缩,可以使用 JPG 的不要用 PNG
大图片不要使用 PNG,用 JPG 替换
删除掉 1x 图片
代码精简
查找无用的 OC 类
维护时间较长的代码,可能会出现废弃的类出现在代码中,这种无用的文件比较难找,可以通过 linkMap 文件来分析。
设置 Project -> Build Settings -> Write Link Map File 为 YES,并设置 Path to Link Map File,build 完后找到 linkMap 文件,来分析该文件,该文件默认位于
~/Library/Developer/Xcode/DerivedData/XXX-eumsvrzbvgfofvbfsoqokmjprvuh/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/
该文件的介绍,可以参考下 这里
在 bang 同学的脚本基础上作了改进,原脚本支持第三方库大小统计,在该脚本的基础上,添加了分析 objc-class-ref 段,查找未引用的类的方法,代码点击这里
查找无用的函数
无用函数,可能是暂时无用,或者不确定是否以后会用到的,可以通过工具来查找无用函数,推荐工具点这里
或者按照查找无用 OC 类的方式写脚本分析 selrefs 段
编译选项优化
Strip Link Product 是否为 YES
Make Strings Read-Only 是否 为YES
去掉异常支持,Enable C++ Exceptions 和 Enable Objective-C Exceptions 设为 NO,并且Other C Flags 添加 -fno-exceptions
iOS 9 以上的 App Thnning
Slicing 仅向设备传送与之相关的资源
On-Demand Resources(ODR) 不重要的资源不下载,使用的时候下载
Bitcode 更新应用时,仅下载更新的内容。