iOS APP 瘦身实践指南

由于公司项目由原生转为了混合开发,但是APP 的 release包 生成ipa ,有 80M 之大,
实际上,应用原生的部分已经很小了,但是项目中还存在着 很多原生的控制器,viewmodel 等类所以决定对现有app 进行瘦身

1.审视APP哪些东西很导致ipa 包很大


将ipa 包解压,发现,除了打包生成的二进制,和资源文件外,有两个文件最大;
那么主要针对不用的图片文件 和 打包后的资源文件处理,尽量减少不用的代码的引用也能减小ipa 的包的大小;

2.瘦身结果

iOS APP 瘦身实践指南_第1张图片
瘦身前

iOS APP 瘦身实践指南_第2张图片
瘦身后

3.瘦身思路

  • 1.删除不需要的资源文件
  • 2.删除废除的第三方SDK
  • 3.对于低版本的RAM 不再支持

4.瘦身工具

  • 工具1: synx --项目虚拟文件夹整理工具 下载链接https://github.com/venmo/synx

一个命令行工具,重组您的Xcode项目文件夹以匹配您的Xcode工程,把你project 里虚拟目录分隔成真实的文件夹,

  • 工具2 :LSUnusedResources--[ 项目资源文件清理工具 ] ()下载链接 https://github.com/tinymind/LSUnusedResources

删除project 工程中不用的资源文件

  • 工具3 Assets.car -- Assets.car解压工具 下载链接 https://github.com/steventroughtonsmith/cartool

ipa 解压后,除了资源文件还有一个比较大的 .car 文件,解压查看xcode 打包了哪些东西,是什么东西导致ipa 爆大;


5.瘦身过程

App 瘦身整理:
8月1号之前的 公司项目 (8月1日)

安装包大小 size
5.4.4 版本ipa包 77.5M
Universal 97.9 MB
iPhone 6s 54.2 MB
iPhone 6s Plus 60.3 MB

5.4.5 版本 瘦身后 (8月11日)

安装包大小 size
5.4.4 版本ipa包 68.9 MB
Universal 80.8 MB
iPhone 6s 40.1 MB
iPhone 6s Plus 48.4 MB

(测试通过)
平均安装包缩小了大约 15M ;


5.4.5 (223 版本-- 删除 ARMV7 ) (8月11日)

223 安装包大小 size
5.4.4 版本ipa包 48.6 MB
Universal 62.2 MB
iPhone 6s 40.1 MB
iPhone 6s Plus 48.4 MB

总结 223 版本因为删除了ARMV7 所以包小了很多,当我恢复支持ARMV6 ,且删除了引用的viewModel 和Controller 但是ipa 包反而变大了,所以,我猜测删除ARMV7 是有效的;


5.4.7 (240 版本-- 删除很多control 和viewmodel ) (8月11日)

224 安装包大小 size
5.4.4 版本ipa包 54.7 MB
Universal 64.2 MB
iPhone 6s 31.7 MB
iPhone 6s Plus 39.8 MB

总结 224(测试中)恢复删除的ARM7,ipa 变大了,但是单独的 各个iphone 的版本实际上还是缩小了一些;所以,ARM的支持越多,会导致生成的ipa 越大,但是相应各个iphone 的安装包实际变化不大


ARM了解

删除过时的 ARM 支持
首先来了解一下Architectures中几个参数的含义

  • ARMv6:ARM11内核用于iPhone2G和iPhone3G中的架构
  • ARMv7:modern ARM内核用于iPhone3GS和iPhone4/S中的架构
  • ARMv7s:A6内核用于iPhone5中的架构
  • ARM64:A7内核用于iPhone5S/C中的架构
  • 之前的春秋旅游支持 (arm64 armv7 armv7s)(删除 armv7)

友情链接:
参考了这几个哥们的文章和瘦身记录;
iOS学习之解压Assets.car;
缩小 ipa包 压缩 ipa iOS 如何缩小打包项目ipa大小;
当我们谈论iOS瘦身的时候,我们到底在谈论些什么;

你可能感兴趣的:(iOS APP 瘦身实践指南)