一般来说,我们开发完一个项目,是要进行编译打包,要上架到appstore供用户下载的。如果IPA包过大,我们上传appstore,以及用户从appstore下载所需的时间都较长,这样用户体验就不好了。
一个IPA安装包主要有可执行文件(也就是我们创建的类文件)、资源文件(图片资源,音视频资源等)组成。
IPA瘦身可通过一下四种方法来实现:
方法一:去除没有用到的资源:https://github.com/tinymind/LSUnusedResources
01.png
方法二:利用AppCode检测未使用的类 http://www.jetbrains.com/objc/
(这个软件也可以做iOS项目开发,不过是收费的,可以免费试用30天,目前我还暂未找到破解版,希望小伙伴们留意破解版地址,Thanks♪(・ω・)ノ)
1.打开我们要检测的项目,等待进度条检测完毕。
02.png2.打开菜单栏 Code -> Inspect Code
03.PNG
这个工具可以检测出来项目中有哪些类暂时没有用到。
方法三:利用fui 清除无用代码 (https://github.com/dblock/fui)
(因为appcode是收费的,如果你特别介意的不想下载的话,建议用这个终端的命令行试下。)
安装fui命令如下:
sudo gem install fui -n /usr/local/bin
安装完成后cd到工程目录下,执行 fui find 命令,可以找出所有的没有用到的class文件,如下图所示:
image.png
方法四:利用LinkMap,可以查看类文件大小。
这里还可以设置Link Map存放的位置,默认的位置为:
$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt
我们可根据自己的需要自行设置该文件的位置,这里为便于查看,我设置为桌面路径。
/Users/allison/Desktop/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt
路径修改完成后,command+B我们编译一下,桌面上会多一个CountyEdit-LinkMap-normal-x86_64的文件。
04.PNG打开这个文本文件,我们可以看到非常详细的信息。但是这个文件比较多,不太好分析,我们可以通过借助第三方工具解析LinkMap.(https://github.com/huanxsd/LinkMap)
05.png
下载完成后,运行该项目并选择路径,界面如下:
选择刚刚编译的CountyEdit-LinkMap-normal-x86_64文件,点击开始,执行分析,可以详细看到每个类占的字节,如下图所示: 06.png
还可以指定某个具体的类进行重新。
06-1.png
也可以根据工程中类的前缀指定只检索项目中的类,过滤掉三方的类。
06-2.PNG
这样我们可以针对某个类以及某个文件进行有针对性的优化。
网友评论