在2G、3G网络时代,也就是智能手机发展起来的前几年,用户的流量是非常宝贵稀缺的资源,如果某一个APP的安装包体过大的话,就会造成用户不愿意去下载的情况,对一款APP来说意味着失去了潜在的用户。到了现在4G网络时代,各大运营商都有了无限流量的套餐,虽然流量对于用户来说不再是主要关心的点,但是ipa安装包过大的话,还是会影响到用户去安装使用,比如占用太多的存储空间等。所以就需要我们对ipa包进行瘦身,那么如何减小ipa包的大小?
1.检查未使用的文件
使用检测工具:WHC_Scan (https://github.com/netyouli/WHC_Scan)
WHC_Scan是一个高效强大扫描分析iOS和Android项目里没有使用的类Mac开源工具,清理项目垃圾类,让项目结构干净清爽,升级维护得心应手.
找到未使用的文件,删除即可。
2.检查未使用图片
检测工具:LSUnusedResources (https://github.com/tinymind/LSUnusedResources))
LSUnusedResurces是一款帮助在Xcode工程中查找不使用图片资源的MAC APP
找到未使用的图片,在工程里把它们去掉即可。
3.生成的可执行文件检测
用js脚本解析mach-o文件(https://gist.github.com/bang590/8f3e9704f1c2661836cd)
检测结果
检测出每个release生成的.a、.o文件大小,大头是静态库。所以如果工程里有相同功能的静态库可以只保留一个,或者对生成静态库支持的设备结构减少,比如armv7s、armv7、arm64,会节省不少空间。
4.未调用的方法检测
工具:SMCheckProject(https://github.com/ming1016/SMCheckProject)
封装起来的库暂时无调用。找到未调用的方法,删除即可。
5.工程中的图片用xcassets文件来管理
往xcassets里添加@2x和@3x的图片,上传到AppStore之后会被创建不同的包体以减小安装包的大小
6.对图片进行压缩
建议对一些图片进行压缩,对于超过100kb的图片可以转成WebP格式,小于100kb的图可以使用网络工具TinyPng或ImageOptim进行图片压缩,以减小包体大小
综上,减小app安装包大小的有多种方式,我们要逐一检查使用,才能使得我们的ipa避免因为一些无用的文件和图片等而变大,才能让用户更加愿意去下载。