xcode编译优化

作者: 啥都不知道啊 | 来源:发表于2020-09-03 14:51 被阅读0次

显示编译时间:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

优化:
一、取消 Find Implicit Dependencies
对所编译项目的Scheme进行配置
Product > Scheme > Edit Scheme > Build


20200313170132737.png

原因:在这个选项(Find Implicit Dependencies)被选中的情况下,即使你只是对项目进行了很细微的改变,项目中的所有资源文件都会被重新编译一遍。也会对所有被改变的frameworks进行编译。

牺牲代价:如果取消这个选项,只有项目中的OC或swift文件进行编译,而framworks等文件不会被编译到,即使你对frameworks中的文件所进行的修改将不会进行重新编译。

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

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


20200313173116539.png

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

这样做,可以只编译当前的版本,比如arm7/arm64等等;如果为No,会编译所有架构的版本。需要注意的是,记得只开启Debug模式,此选项在Release模式下必须为Yes,否则发布的ipa在部分设备上将不能运行。这一项更改完之后,可以显著提高编译速度。


20200313173600579.png

四、可适当增加编译线程数来提高编译速度
XCode默认使用与CPU核数相同的线程来进行编译,但由于编译过程中的IO操作往往比CPU运算要多,因此适当的提升线程数可以在一定程度上加快编译速度。注意:要根据自己电脑的配置进行配置。

相关指令:

1.获取当前内核数:
sysctl -n hw.ncpu
2.设置编译线程数:
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 32
3.获取编译线程数:
defaults read com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks
4.Xcode显示编译时长:
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES//设置后重启Xcode

五、给 Xcode 读写提速:给Xcode创建专属内存盘
1、在桌面创建ramdisk.sh文件,并编辑脚本文件如下:

#!/bin/sh  
  
# usage:  $ramdisk.sh [capacity=4] [label=RamDisk]  
  
# default capacity=4(gb)  
capacity=4  
if [ "$1" != "" ]; then  
    capacity=$1  
fi  
  
# default label="RamDisk"  
label="RamDisk"  
if [ "$2" != "" ]; then  
    label="$2"  
fi  
  
# echo "capacity=$capacity\nlabel=$label"  
  
# 1(capacity)=2097152(ram)  
ram=$(($capacity*2097152))  
  
if ! test -e "/Volumes/$label" ; then  
    diskutil erasevolume HFS+ "$label" `hdiutil attach -nomount ram://$ram`  
fi 

2、执行脚本

sh ramdisk.sh 8 RamDisk  //8是内存盘大小,RamDisk是内存盘名字

3、设置Xcode


2020031319115696.png

六、 Build Settings中自定义:HEADERMAP_USES_VFS = YES

七、在project的build phases里面找到下面两处,并勾选Run script only when installing。
这样加速的前提是你之前有编译成功过,也就是有derived data,如果clean,或者切换分支,pod update等操作,以及增删改资源文件等,记得去掉勾选重新编译成功后,再用这种方法加快你修改逻辑方面的代码的编译速度,毕竟一天的工作pod操作比较少,还是可以大幅提升编译速度。


[图片上传中...(WeChatcc4a4f7c230f14cd35e29cf06ed336ee.png-a2ddfb-1599115783086-0)]
WeChatcc4a4f7c230f14cd35e29cf06ed336ee.png

相关文章

  • Xcode编译过程

    Xcode编译过程 打包过程 源码编译 静态库链接 资源编译、优化、导入 配置文件生成 签名打包 Xcode 遇到...

  • OC项目编译优化

    参考文章链接:关于Xcode编译性能优化的研究工作总结 一、编译时长优化Architectures 在Build ...

  • Xcode编译优化

    Copy Pods Resources优化 项目是使用组件化进行开发的,编译时候发现,有很长的时间用来处理[CP]...

  • xcode编译优化

    显示编译时间: 优化:一、取消 Find Implicit Dependencies对所编译项目的Scheme进行...

  • xcode 常见设置

    xcode Built Setting里的参数1、Optimization Level 编译器优化程度 None:...

  • Xcode:编译速度优化

    显示编译时间 控制台打印启动时间 将环境变量 DYLD_PRINT_STATISTICS设为 1,启动时就会打印类...

  • iOS启动时间优化(二)

    前言 之前 启动优化(一)说了二进制重排的原理,今天具体说下实现。 查看链接顺序 Xcode编译过程,会将.m编译...

  • 关于Xcode编译性能优化的研究工作总结

    参考::关于Xcode编译性能优化的研究工作总结[http://blog.csdn.net/qq_25131687...

  • swift Xcode编译速度优化

    方案一: 当修改一个 Swift 文件或多个文件,然后 Build , 引起全局编译的时候,可以先到 Report...

  • xcode编译速度优化探究

    问题:app building 时间越来越慢现在大概需要2分钟左右才能编译好,因此我们探究下有什么优化加载时间的办...

网友评论

    本文标题:xcode编译优化

    本文链接:https://www.haomeiwen.com/subject/uuansktx.html