对于ios来说,由于工程的体量达到一定级别,瘦身是必须的,大的方向分为资源瘦身和代码精简两大方向,当然还有个重要的方向就是H5化或者RN。资源和代码瘦身主要的有几个东西,图片,无用类,pod无用依赖等,下边讲下我们项目的瘦身过程和一些大神的工具。
无用pod依赖
此功能参考CSDN一片文章,写的比较清楚,有兴趣的可以看一下。
git地址:https://github.com/Jlaix/scanUnusedPod
无用类检查
此检查我自己主要使用AppCode工具检查的,此工具检查会比较详细,包括无用的方法,项目警告等,AppCode是IDE使得扫描出来的无用函数可以快速跳转,而且Appcode强大的重构功能使得删除这些代码更加方便,可以采用AppCode编码+Xcode修改配置的IDE组合,当然Xcode也在不断完善,对于Xcode9一些新的功能还是很强大的。
还有一些工具如https://github.com/netyouli/WHC_Scan等,使用下来个人感觉都没有appcode精确好用。
一些比较好的建议和工具使用:参考此文章
无用图片检查
此项检查其实有很多工具,但是自己对比几个工具使用下来和CSDN上一位大哥的感觉一样https://github.com/examplecode/unused-image比较好用,如果有更好的欢迎各位大神推荐。另外图片加入工程前最好做个压缩,图片压缩推荐使用ImageOptim。
分析可执行文件
使用link map
XCode -> Project -> Build Settings -> 搜map -> 把Write Link Map File选项设为yes
在 编译后的工程文件夹可以找到 命名为 xxxlinkmapxxx.txt的文件,可以command+shift+g 打开finder搜录路径,输入~/Library/Developer/Xcode/DerivedData/,最终路径为~/Library/Developer/Xcode/DerivedData/xxx-fiddbeuzfkaaebebkkcjspwsksvz/Build/Intermediates.noindex/xxx.build/Debug-iphonesimulator/xxx.build/xxx-LinkMap-normal-x86_64.txt
如何分析
本文采用node + js 的方式分析。 js代码地址https://gist.github.com/bang590/8f3e9704f1c2661836cd使用方法,node js路径 xxlinkmapxxx.txt 路径 -hl 分析出来 过大的可以考虑缩减和替换。
此处出自:http://www.jianshu.com/p/28f02cd1f208 http://blog.cnbang.net/tech/2296/