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。