通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了XCode的编译过程后,我们可以从以下角度来优化编译速度:
查看编译时间
我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。 对于XCode 8,关闭XCode,终端输入以下指令
然后,重启XCode,然后编译,你会在这里看到编译时间。
代码层面的优化
forward declaration
所谓forward declaration,就是@class CLASSNAME,而不是#import CLASSNAME.h。这样,编译器能大大提高#import的替换速度。
对常用的工具类进行打包(Framework/.a)
打包成Framework或者静态库,这样编译的时候这部分代码就不需要重新编译了。
常用头文件放到预编译文件里
XCode的pch文件是预编译文件,这里的内容在执行XCode build之前就已经被预编译,并且引入到每一个.m文件里了。
编译器选项优化
Debug模式下,不生成dsym文件
上文提到了,dysm文件里存储了调试信息,在Debug模式下,我们可以借助XCode和LLDB进行调试。所以,不需要生成额外的dsym文件来降低编译速度。
Debug开启Build Active Architecture Only
在XCode -> Build Settings -> Build Active Architecture Only 改为YES。这样做,可以只编译当前的版本,比如arm7/arm64等等,记得只开启Debug模式。这个选项在高版本的XCode中自动开启了。
Debug模式下,关闭编译器优化
编译器优化
参考
[1]http://blog.csdn.net/hello_hwc/article/details/50036323
[2]http://blog.csdn.net/Hello_Hwc/article/details/46425503
[3]https://github.com/LeoMobileDeveloper/Blogs/blob/master/DemoProjects/Scripts/autoIPA.sh
网友评论