iOS ipa包大小

随着App的不断迭代,文件图片的不断增加导致ipa包的增大。那怎么减少ipa包的大小呢?从网络找到一些优化方法,记录一下以便以后使用!

1.删除无用文件

  1. 使用 WHC_Scan 搜索未使用的类

选择项目目录后等待搜索完毕,找到对应没有使用的类,删除即可。

image.png
  1. 使用 LSUnusedResources 搜索未使用图片

搜完完毕后选择图片点击delete删除即可。

LSUnusedResourcesExample.gif

2. Xcode设置

  1. Generate Debug Symbols 设置

\color{red}{注意:此选择设置为NO确实可以减少ipa大小,但是在Xcode中设置断点不会中断,} \style{color: red; border-bottom:1px dashed red}{也不会生成dSYM文件}

image.png
  1. VALID_ARCHS 舍去 armv7 架构

Xcode12已移除VALID_ARCHS选项。 armv7用于4和4s 完全可以去掉。

image.png
  1. DEAD_CODE_STRIPPING设置为YES (Xcode默认设置)
image.png
  1. Optimization Level编译优化选项

release选择Fastest, Smalllest[-Os] (Xcode默认设置)

image.png
  1. Strip Debug Symbols During Copy、Symbols Hidden by Default、Strip Linked Product 参考 Xcode中和symbols有关的几个设置

debug设置为NO,release设置为YES

image.png

用了以上方法自测ipa减少了30兆左右。

附:提高编译速度

mac老旧,项目巨大。每次编译时间都特别久!

  1. Debug Information Format

debug设置为DWARF,release设置为DWARF with dSYM File

这一项设置的是是否将调试信息加入到可执行文件中,改为DWARF后,如果程序崩溃,将无法输出崩溃位置对应的函数堆栈,但由于Debug模式下可以在XCode中查看调试信息,所以改为DWARF影响并不大。这一项更改完之后,可以大幅提升编译速度

image.png
  1. Build Active Architecture Only

debug设置为YES,release设置为NO

这一项设置的是是否仅编译当前架构的版本,如果为NO,会编译所有架构的版本。需要注意的是,此选项在Release模式下必须为YES,否则发布的ipa在部分设备上将不能运行。这一项更改完之后,可以显著提高编译速度。

image.png
  1. 提高XCode编译时使用的线程数
    defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4

XCode默认使用与CPU核数相同的线程来进行编译,但由于编译过程中的IO操作往往比CPU运算要多,因此适当的提升线程数可以在一定程度上加快编译速度。

你可能感兴趣的:(iOS ipa包大小)