iOS 查看项目编译时间并优化编译速度

源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了XCode的编译过程后,我们可以从以下角度来优化编译速度:
A.查看编译时间方法:

1.关闭XCode
2.终端输入指令:
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
3.重启XCode打开项目,command+B运行,即可查看编译时间,如图所示:

img

image.png

B.优化编译速度方法:
1.代码层面的优化

forward declaration
所谓forward declaration,就是@class CLASSNAME,而不是#import     
CLASSNAME.h。这样,编译器能大大提高#import的替换速度。
对常用的工具类进行打包(Framework/.a)打包成Framework或者静态库,这样编译的时候这部分代码就不需要重新编译了。
常用头文件放到预编译文件里
XCode的pch文件是预编译文件,这里的内容在执行XCode build之前就已经被预编译,并且引入到每一个.m文件里了。

2.编译器选项优化

Debug模式下,不生成dsym文件,dysm文件里存储了调试信息,在Debug模式下,我们可以借助XCode和LLDB进行调试。
所以,不需要生成额外的dsym文件来降低编译速度。
Debug开启Build Active Architecture Only
在XCode -> Build Settings -> Build Active Architecture Only 改为YES。
这样做,可以只编译当前的版本,比如arm7/arm64等等,记得只开启Debug模式。
这个选项在高版本的XCode中自动开启了。

3.编译器优化

Debug模式下,关闭编译器优化

img

image.png

prefixheadeer文件里不能引入依赖多个其他文件的controller或者view,会造成循环引用。如果发现特别卡,也可以看看这个。


   转载规则


《iOS 查看项目编译时间并优化编译速度》 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
xcode编译项目卡死,项目启动后一分钟内xcode还是卡死转圈圈        ------------  APP的冷启动优化,耗时分析 xcode编译项目卡死,项目启动后一分钟内xcode还是卡死转圈圈 ------------ APP的冷启动优化,耗时分析
刚接手一个项目,发现打开app后运行xcode会在编译后发生短暂的卡死现象,且app启动之后xcode也会有短暂的卡死现象,变现为:一直转圈圈。 这个问题肯定出在项目配置上,因为是刚启动就卡死,且我的机子是最新款,32内存。大概有了思路就开
2020-09-29
下一篇 
Flutter的Json解析 Flutter的Json解析
Flutter的Json解析一起从0开始学习Flutter!Json是我们最常用的数据传输格式,我们需要在发送数据的时候将对象转为Json,在收到数据后将Json转为对象,这需要我们的转化,我们可以自己手解这些Json字符串,也可以利用一些
2020-09-28
  目录