Xcode编译慢打包慢解决方法

2018-12-22  本文已影响85人  dushuzhong

1. 提高XCode编译时使用的线程数

defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 48 cpu 占用会特别高 达到150%的样子,15寸 设置48比较好,否则操作其他因员工可能会卡

XCode默认使用与CPU核数相同的线程来进行编译,但由于编译过程中的IO操作往往比CPU运算要多,因此适当的提升线程数可以在一定程度上加快编译速度。本人采用的是4核的CPU,将线程数改为8后编译速度略有提升。

2.Debug Information Format改为DWARF

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

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

// 这一条暂时不用管,默认配置

3.Build Active Architecture Only改为Yes

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

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

在设置完以上三个项之后,相信编译时间会缩短很多。

4.如何关掉CCache 提高编译打包速度呢编写脚本,文件名称ccache

  #!/bin/sh
  if type -p ccache >/dev/null 2>&1; then
  export CCACHE_MAXSIZE=10G
  export CCACHE_CPP2=true
  export CCACHE_HARDLINK=true
  export CCACHE_SLOPPINESS=file_macro,time_macros,include_file_mtime,include_file_ctime,file_stat_matches
指定日志文件路径到桌面,等下排查集成问题有用,集成成功后删除,否则很占磁盘空间
 export CCACHE_LOGFILE='~/Desktop/CCache.log'
 exec ccache /usr/bin/clang++ "$@"
else
 exec clang++ "$@"
fi
ccache-clang++.sh

放到Xcode项目根目录,然后

详情见这篇帖子

https://www.jianshu.com/p/c9e3fb3dfa53

5.去掉打包缓存

~/Library/Developer/Xcode/Products

上一篇下一篇

猜你喜欢

热点阅读