关于如何提高Xcode编译速度

伴随着项目的不断壮大, 编译速度会变得越来越长,影响我们开发的效率。这时候我们就会需要对Xcode的编译速度做优化。

首先,我们需要知道怎么准确地测试自己xcode的编译速度

1.关闭Xcode

2.终端输入指令:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

3.重启XCode打开项目,command+B运行,即可查看编译时间

这里,我们得出项目刚开始运行的时间是

优化前编译消耗时间
优化后编译消耗时间

具体的操作方式如下:

<1>.设置xcode最大运行线程数: 直接开到32 在终端输入如下指令:重启xcode就可以有效

defaults write xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 32

<2>在工程对应Target的Build Settings中,找到Debug Information Format这一项,将Debug时的DWARF with dSYM file改为DWARF。

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

<3>.将Build Active Architecture Only改为Yes 这一项设置的是是否仅编译当前架构的版本,如果为No,会编译所有架构的版本。需要注意的是,此选项在Release模式下必须为No,否则发布的ipa在部分设备上将不能运行。

<4>修改buildSetting中的Optimization Level

这个是xcode Built Setting里的一个参数,Optimization Level是指编译器的优化层度,优化后的代码效率比较高,但是可读性比较差,且编译时间更长。 它一共有以下几个选项:

None: 编译器不会尝试优化代码,当你专注解决逻辑错误、编译速度快时使用此项。

Fast: 编译器执行简单的优化来提高代码的性能,同时最大限度的减少编译时间,该选项在编译过程中会使用更多的内存。

Faster: 编译器执行所有优化,增加编译时间,提高代码的性能。

Fastest: 编译器执行所有优化,改善代码的速度,但会增加代码长度,编译速度慢。

Fastest, Smallest: 编译器执行所有优化,不会增加代码的长度,它是执行文件占用更少内存的首选方案

所以说我们平时开发的时候可以选择使用None来不给代码执行优化,这样既可以减少编译时间,又可以看出你代码哪里有性能问题。

而你的release版应该选择Fastest, Smalllest,这样既能执行所有的优化而不增加代码长度,又能使执行文件占用更少的内存。    

参考资料:

https://www.programering.com/a/MTN1ATNwATQ.html

https://www.jishudog.com/8765/html

https://www.jishudog.com/ios/iostext

https://blog.csdn.net/qq_25131687/article/details/52194034

你可能感兴趣的:(关于如何提高Xcode编译速度)