(1),设置Generate Debug Symbols 为NO. 可以减少30%左右的体积.所以这个选项很重要.
(2),设置Optimization Level下的Release模式为:Fastest,Smallest[-Os] .这是Xcode上默认的,但我们要知道,意思是开启不增加代码大小的全部优化,并让可执行文件尽可能小.
经过上面的设置,我的.framework有3M减到了1.8M.
2,删除无用代码,设置Dead Code Stripping为YES,去掉冗余代码即代码被定义但未被使用.
3,我原来在Architectures中加入了armv7s. 现在我将armv7s删除,重新编译,可以减少三分之一的体积..framework包由原来的1.8M减到1.2M.
指令集:armv6 : iPhone,iPhone2,iPhone3G,第一代和第二代iPod Touch; armv7:iPhone4,iPhone4S; armv7s:iPhone5,iPhone5C; arm64:iPhone5S
指令集是向下兼容的,所以设置了arnv7是可以在armv7s的设备上运行的.
4,删除framework中无用mach.(注:由于本人很懒,该方法没试过,不过该方法是可信的).
点击打开链接
5,ipa缩小文件体积
点击打开链接
6,自己封装,尽量不要用第三方的.
个人推荐所有纯代码手写. 我之前用的网络请求是AFN,那么如果自己封装网络请求. 代码量是不是会减小. 最后的sdk包的体积也会变低.
7,使用HTML5来替换原生的页面
我请教过我同行, 他告诉我他们开发的所有sdk全都是使用HTML5开发. 但是并不知道使用HTML5开发后的sdk包和使用原生的sdk包那个大. 这里给出建议:我没有测试过H5开发和原生开发后的sdk包谁大, 但是 如果你公司有条件的话, 建议还是使用H5来开发SDK包.