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

时间:2015-01-16 03:18:01

标签: ios xcode caching xcode5

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

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

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

我也查看了这个问题,但如果我不是绝对需要,我也不想在组织者中浪费时间:How to "Delete derived data" in Xcode6?

我已经查看了其他帖子,但没有发现能解决可靠清理项目问题并节省脚本时间的问题。

2 个答案:

答案 0 :(得分:22)

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

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

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

    我希望有帮助,快乐的编码!

答案 1 :(得分:1)

删除Xcode中派生数据的另一种方法是删除“派生数据”文件夹。 这是一个直观的教程,介绍如何无需使用命令行即​​可轻松完成此操作:https://www.youtube.com/watch?v=ueEMGXKDBAc