0%

iOS安装包瘦身

iPA解压排查

iOS安装包瘦身时,最直接的办法就是,解压打包完的iPA,查找大文件,优化对应的大文件。

  • _CodeSignature:文件hash列表。里面有一个属性列表文件CodeResources,包含.app中所有文件的列表,里面是一个字典,key是文件名,value通常是Base64格式的散列值。它的作用是用来判断应用程序是否完好无损,防止资源文件修改损坏。

  • Assets.car:由.xcassets统一打包生成。包含所有.xcassets下的资源文件.xcassets可以存放图片资源,组织清晰,便于管理,Xcode也会对一些资源做优化处理。如果直接放在Xcode工程目录下,打包后这些资源会在包的根目录下面展示。Assets.car可以通过Asset Catalog Tinkerer软件打开,并导出相关资源。

  • embedded.mobileprovision:描述文件

  • Info.plist:工程信息配置文件

  • YXTDemo:与工程同名的可执行文件。可以通过file命令查看类型。

图片资源优化

删除未使用的图片资源

可以使用工具LSUnusedResources工具查找未使用的图片资源,工具下载地址:https://github.com/tinymind/LSUnusedResources。

压缩图标和图片

对于一些较大的图标和图片可以使用工具ImageOptim压缩一下。

特殊大图放工程目录下

大图(例如游戏界面背景图)若放在.xcassets文件夹中,工程打包后大图的尺寸会变大,因此建议特定大图不要放在.xcassets中,放在工程目录下即可。

删除冗余代码

删除未使用的类文件

使用CATClearProjectTool工具查找未使用的类,删除即可。

使用LinkMap分析类文件和静态库的大小

使用LinkMap工具可以分析具体类文件和静态库大小,工具下载地址:https://github.com/huanxsd/LinkMap。