iOS APP包分析工具 | 京东云技术团队

本文介绍了一款用于分析iOS应用ipa包的脚本工具,它能自动检测并修复包体积问题,提供数据化平台展示组件大小和待修复问题,适用于组件化工程的包体积管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

分享一款用于分析iOSipa包的脚本工具,使用此工具可以自动扫描发现可修复的包体积问题,同时可以生成包体积数据用于查看。这块工具我们团队内部已经使用很长一段时间,希望可以帮助到更多的开发同学更加效率的优化包体积问题。

工具下载地址

背景

APPAnalyze工具最早诞生主要是为了解决以下包体积管理的问题:

对于定位下沉市场的APP来讲,包体积是一个非常重要的性能指标,包体积过大会影响用户下载APP的意愿。但是在早期我们缺少一些手段帮助我们更高效的去进行包体积管理。

自动发现问题
  • 提升效率- 人工排查问题效率低,对于常见的问题尽可能自动扫描出来。并且对于组件化工程来讲,很多外部组件是通过Framework方式提供,没有仓库源码权限用于分析包体积问题。

  • 流程化- 形成自动化的质量流程,添加到CI流水线自动发现包体积问题。

数据指标量化
  • 包体积问题- 提供数据化平台查看每个组件的包体积待修复问题

  • 包体积大小- 提供数据化平台查看每个组件的包体积占比,包括总大小,单个文件二进制大小和每个资源大小。可以针对不同的APP版本进行组件化粒度的包体积数据对比,更方便查看每个版本的组件大小增量。

实现方式

我们选择了不依赖源码而是直接扫描二进制库的方式来实现这个能力,总体的执行流程一下:
执行流程

提示:基于组件化工程的扫描方式内部支持,只是暂时不对外开放。

使用指南

安装

无需安装。通过下载链接直接下载终端可执行命令文件APPAnalyzeCommand到本地即可使用。

APPAnalyzeCommand 下载地址

使用

$ /Users/Test/APPAnalyzeCommand --help
OPTIONS:
  --version <version>     当前版本 1.0.0
  --output <output>       输出文件目录。必传参数
  --config <config>       配置JSON文件地址。非必传参数
  --ipa <ipa>             ipa.app文件地址。必传参数
  -h, --help              Show help information.



执行

打开终端程序直接执行以下shell指令,即可生成ipa的包体积数据以及包体积待修复问题。

提示:不能直接使用AppStore的包,AppStore的包需要砸壳。建议尽量使用XCodeDebug的包。

/Users/Test/APPAnalyzeCommand --ipa ipas/JDAPP/JDAPP.app --output ipas/JDAPP



提示:如果提示permission denied没有权限,执行sudo chmod -R 777 /Users/a/Desktop/ipas/APPAnalyzeCommand即可。

生成产物

生成产物
指令执行完成以后,会在ouput参数指定的文件夹生成APPAnalyze文件夹。具体文件介绍如下:

包体积信息
  • app_size.html- 展示ipa每个framework的包体积数据,可直接用浏览器打开。

提示:按照主程序和动态库进行粒度划分

app_size.html

  • framework_size.html- 展示单个framework所有的包体积数据,二级页面不要直接打开

framework_size.html

提示:XCode生成Assets.car时会将一些小图片拼接成一张PackedAssetImage的大图片。

  • package_size.json-ipa包体积 JSON 数据
包体积待修复问题
  • app_issues.html- 展示ipa每个framework的包体积待修复问题数量,可直接用浏览器打开。

提示:按照主程序和动态库进行粒度划分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值