如何在 Xcode 5 及更高版本中删除派生数据和清理项目?

How to Delete Derived Data and Clean Project in Xcode 5 and later?

是否有我可以遵循的程序,其中包括 运行 终端中的脚本,用于删除派生数据文件夹下的所有文件并可靠地清理项目?

有时,项目的资产并不总是更新到我的模拟器或设备。这主要是反复试验,当我发现旧资产进入测试版本时,为时已晚,更不用说尴尬了!

我看过这个问题,但似乎有点过时了: How to Empty Caches and Clean All Targets Xcode 4

我也检查了这个问题,但我不想在 Organizer 上浪费时间,如果我不是绝对需要的话:How to "Delete derived data" in Xcode6?

我查看了其他帖子,但没有找到解决可靠清理项目和使用脚本节省时间的问题。

它基本上是一个两步或三步的过程,用于清除项目中的所有缓存资产。

当然,如果有人使用了这个技术,而项目仍然没有显示更新的资产,那么请添加答案!绝对有可能有人遇到了需要我没有包括的步骤的情况。

  1. 使用 Shift-Cmd-K
  2. 清理您的项目
  3. 通过调用在您的 bash 配置文件中定义的 shell 脚本(详情如下)删除派生数据
  4. 从模拟器或设备卸载应用程序。
  5. 对于某些类型的资产,您可能还需要重置模拟器(在 iOS 模拟器菜单下)

要调用下面的 shell 脚本,只需在您的终端中输入函数名称(在本例中为 'ddd'),假设它在您的 bash 配置文件中。一旦你保存了你的 bash 配置文件,如果你保持打开状态,请不要忘记更新你的终端环境,使用 source 命令:
source ~/.bash_profile

ddd() {
    #Save the starting dir
    startingDir=$PWD

    #Go to the derivedData
    cd ~/Library/Developer/Xcode/DerivedData

    #Sometimes, 1 file remains, so loop until no files remain
    numRemainingFiles=1
    while [ $numRemainingFiles -gt 0 ]; do
        #Delete the files, recursively
        rm -rf *

        #Update file count
        numRemainingFiles=`ls | wc -l`
    done

    echo Done

    #Go back to starting dir
    cd $startingDir
}

希望对您有所帮助,编码愉快!

删除 Xcode 中派生数据的另一种方法是删除派生数据文件夹。 这是一个可视化教程,说明如何在不使用命令行的情况下轻松完成此操作:https://www.youtube.com/watch?v=ueEMGXKDBAc