j9九游会登陆--首页直达

怎样加速XCode编译速率?
  • 智网科技
  • ###
  • 分类: 履历之谈
  • 阅读量: 70

 

1. 增长XCode实行的线程数

 
可以依据本人Mac的功能,变动线程数设置5:defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 5
 
别的也有一个设置可以开启:defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
 
XCode默许利用与CPU核数相反的线程来举行编译,但由于编译历程中的IO操纵每每比CPU运算要多,因而得当的提拔线程数可以在肯定水平上加速编译速率。

2.将Debug Information Format改为DWARF

 

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

如图:
664334-39456903ac17169b.png

这一项设置的是能否将调试信息参加到可实行文件中,改为DWARF后,假如步伐瓦解,将无法输入瓦解地位对应的函数货仓,但由于Debug形式下可以在XCode中检察调试信息,以是改为DWARF影响并不大。这一项变动完之后,可以大幅提拔编译速率。

好比在现在自己卖力的项目中,由于依赖了多个Target,以是必要在每个Target的Debug Information Format设置为DWARF。特地提一下,假如经过Cocoapod引入第三方则Debug Information Format默许便是设置为DWARF的。

  • SDWebImage经过Cocoapod``Debug Information Format的默许设置

     

    664334-bd76c7ae5b360144.png

留意:将Debug Information Format改为DWARF之后,会招致在Debug窗口无法检察相干类范例的成员变量的值。当必要检察这些值时,可以将Debug Information Format改回DWARF with dSYM file,clean(必需)之后重新编译即可。

3.将Build Active Architecture Only改为Yes

 

在工程对应Target的Build Settings中,找到Build Active Architecture Only这一项,将Debug时的NO改为Yes。

664334-fa1eb995c140ce0f.png

这一项设置的是能否仅编译以后架构的版本,假如为NO,会编译一切架构的版本。必要留意的是,此选项在Release形式下必需为NO`,不然公布的ipa在局部设置装备摆设大将不克不及运转。这一项变动完之后,可以明显进步编译速率。

4.设计编译优化品级

 

不要再项目中大概静态库中利用-O4,由于这会让Clang链接Link Time Optimizations (LTO)使得编译更慢,通常利用-O3。

664334-b0d4499fba599312.png

留意:在设置编译优化之后,XCode断点和调试信息会不正常,以是一样平常静态库大概其他Target如许设置。

4.资源整合

4.1 将常用的代码及文件打包成静态库

4.2 添加预编译文件,把常用的头文件放到预编译文件内里

4.3 能用@class就用@class