iOS包体积优化的系列文章,其中包括:
- iOS 包体积优化1 - 总览
- iOS 包体积优化2 - 如何分析ipa包?
- iOS 包体积优化3 - 代码管理
- iOS 包体积优化4 - 资源管理
- iOS 包体积优化5 - 编译优化
- iOS 包体积优化6 - 长期维护
1. 什么是 ipa 包?
ipa后缀的文件是iOS系统的软件包,全称为iPhone application archive。通常情况下,ipa文件都是使用苹果公司的FairPlayDRM技术进行加密保护的。每个IPA文件都是ARM架构的可执行文件以及该应用的资源文件的打包文件,只能安装在iPhone,iPod Touch或iPad上。该文件可以通过修改后缀名为zip后,进行解压缩,查看其软件包中的内容。
数字版权管理(英语:Digital rights management,缩写为DRM)是一系列访问控制技术[1][2],通常用于控制数字内容和设备在被销售之后的使用过程[3][4][5]。DRM有时也称为拷贝保护、复制控制、技术保护措施等,但这些称呼存在争议[6]。
FairPlayDRM加密技术
每个IPA文件都是ARM架构的可执行文件以及该应用的资源文件的打包文件,只能安装在iPhone,iPod Touch,iPad以及使用Apple Silicon平台的Mac上。该文件可以通过修改后缀名为zip后,进行解压缩,查看其软件包中的内容。
2. AppStore 对包大小提供的优化支持
当 App 构建完安装包之后上传到 AppStore Connect 后, AppStore Connect 会根据设备、系统来创建其变体(variant)以适配不同的设备,用户从 App Store 中下载到的安装包时候,只下载自己设备用到变体。
变体之间的差异取决于设备的处理器架构(arm64, armv7)、屏幕分辨率(2x, 3x)、iOS 系统版本。
当然这也导致很难用线下构建的安装包来量化最终对下载大小的影响。
3. 如何查看不同设置的安装包大小
在开发者网站上,选择 TestFlight -> 构建版本 ->构建版本元数据 ->压缩文件大小 -> App Store文件大小
4. App Store OTA 下载大小限制
苹果公司为了避免用户超出运营商套餐流量,限制了用户通过流量从 AppStore 下载 App 的最大大小, 简称 OTA 下载大小限制。
其历史沿革:
- 2017 年 9 月,限制从 100MB 提升到了 150MB;
- 2019 年 5 月下旬,苹果把 OTA 下载限制放宽到 200MB;
- iOS 13 发布之后 iOS13 及以上用户可以使用流量下载超出 200MB 的 App, 询问用户「设置」选择下载策略,是否使用流量下载。
5. 准备开始优化
现在我们对ipa包是什么,有了一定的了解,那么我们就开始着手优化吧。
在优化之前,还需要好好分析一下自己的ipa包,到底哪些东西导致ipa包变大的,哪些是可以优化的?
将在下一篇: [iOS 包体积优化2 - 如何分析ipa包?] 中一起来解决这些问题。