zoukankan      html  css  js  c++  java
  • iOS开发效率提升——Xcode编译性能优化操作

    一、取消 Find Implicit Dependencies

    对所编译项目的Scheme进行配置
    Product > Scheme > Edit Scheme > Build

    在这里插入图片描述

    亲测结果:有效!!

    原因:在这个选项(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影响并不大。这一项更改完之后,可以大幅提升编译速度。

    在这里插入图片描述
    亲测结果:有效!!

    三、将Build Active Architecture Only改为Yes

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

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

    在这里插入图片描述
    亲测结果:有效!!

    四、可适当增加编译线程数来提高编译速度

    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 label=$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是内存盘名字
    1
    此时桌面上会看见一个名为RamDisk的磁盘

    在这里插入图片描述
    3、设置Xcode

    在这里插入图片描述
    此时给Xcode创建专属内存盘的操作就做完了!!
    亲测结果:编译时间大幅度缩减,有效!!
    ————————————————
     

    每天都有不一样的太阳
  • 相关阅读:
    HDU 3695 Computer Virus on Planet Pandora
    codeforces 706D Vasiliy's Multiset
    HDU 2222 Keywords Search
    POJ 2348 Euclid's Game
    HDU 1079 Calendar Game
    js选项卡的实现方法
    实现鼠标悬浮切换标题和内容
    js实现鼠标悬浮切换 setTab 代码实现
    自学Node.js: WebStorm+Node.js开发环境的配置
    windows 下安装nodejs
  • 原文地址:https://www.cnblogs.com/YangFuShun/p/15215400.html
Copyright © 2011-2022 走看看