美文网首页
Xcode编译慢打包慢解决方法

Xcode编译慢打包慢解决方法

作者: dushuzhong | 来源:发表于2018-12-22 11:03 被阅读85次

    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

    相关文章

      网友评论

          本文标题:Xcode编译慢打包慢解决方法

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