美文网首页账号知识点ios frame
iOS 优化ipa包,减小安装包大小

iOS 优化ipa包,减小安装包大小

作者: Missmiss懵 | 来源:发表于2017-08-01 11:57 被阅读682次

项目打包之后.ipa包的大小是118.9M,上传到App Store后iPhone6s上显示85.5M,下载时间太长,所以找了一些优化方法,下面这些都是别人写的自己试了一下确实好用,不是原创,只是记录一下。


1、配置编译选项 

(Levels选项内)Generate Debug Symbols  设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下

2、舍弃架构armv7

armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。

3、去除无用的三方库、代码、readme

4、图片处理

图片是安装包里占用空间最大的东西,我的项目中占用了一半的体积。

    *用imageoptim压缩图片的大小

    *一些比较大体积的背景图片压缩成.jpg格式的。

    *用LSUnusedResource这个软件查找项目中没有用到的图片,然后删除,当然不一定特别准确,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]这样使用的图片也会被列在未使用图片中。

   *使用Assets.xcassets来管理图片也可以减小安装包的体积

5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默认就是YES)。 确定 dead code(代码被定义但从未被调用)被剥离,去掉冗余的代码,即使一点冗余代码,编译后体积也是很可观的。

6、编译器优化级别

Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。

7、去除符号信息

Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。

8、Strip Linked Product:DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;

相关文章

网友评论

  • 杭研融合通信iOS:你好,如果想使某个oc文件支持异常的话,是不是要对这个文件指定-fexceptions选项? 加在哪里?
    Missmiss懵:我没试过,但是要是单独给某个文件加猜测是加到Compile Sources吧,你试一下吧,试完告诉我一下哦。
    https://blog.csdn.net/heiby/article/details/50344629这篇文章的第5条最后一点提到了一点关于你这个问题的,你可以参考一下
  • 0310de9ce341:舍弃armv7,审核过不了啊,他会在ipad上运行你的APP 部分ipad需要armv7,作者你舍弃armv7 审核能过吗?你写的东西 你都用了吗?
    Andy_WangPeng:@22浮云流水22 我也舍弃了,没问题
    Missmiss懵:我都用了 而且过审了
  • bb436c44662d:Generate Debug Symbols设置NO的话,dsym文件不能生成了吧
    Missmiss懵:Build Settings -> Build Options -> Debug Information Format这个才跟dsym文件有关系吧

本文标题:iOS 优化ipa包,减小安装包大小

本文链接:https://www.haomeiwen.com/subject/knxjlxtx.html