为啥 Xcode 将 DerivedData 放在我的项目文件夹中?

Posted

技术标签:

【中文标题】为啥 Xcode 将 DerivedData 放在我的项目文件夹中?【英文标题】:Why does Xcode put DerivedData in my project folder?为什么 Xcode 将 DerivedData 放在我的项目文件夹中? 【发布时间】:2014-12-22 18:20:25 【问题描述】:

Xcode 不断构建到 Project/build,而不是设置下的 Derived Data 文件夹。

这是我尝试过的事情:

更新首选项下的位置: 重新安装 Xcode 删除 SYMROOT(构建产品路径)的任何自定义设置 Deleting all xcode preferences 还原上一个构建的版本,以及其他几个版本。 在不同的机器上构建(可行!)

这看起来可能是系统设置、符号链接或其他特定于该机器的问题。我怎样才能解决这个问题?有谁知道 Xcode 派生数据位置是如何工作的?

更新

看起来改变 SYMROOT(构建产品路径)的值是这里的罪魁祸首。一旦将它们设置为任何内容,项目就会永久开始将构建放入项目路径而不是 DerivedData 文件夹。即使恢复到以前版本的项目设置也无济于事。我对此的唯一答案是更改 SYMROOT 设置,然后将项目签出到新位置。我很想知道这里发生了什么。

【问题讨论】:

【参考方案1】:

我不知道为什么会这样,但确保没有将 SYMROOT 设置为任何内容(你们都必须在项目文件中搜索它),然后将项目重新签出到不同的目录来解决此问题。

【讨论】:

以上是关于为啥 Xcode 将 DerivedData 放在我的项目文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

为啥清除 Derived Data 会清除 Xcode 中的各种错误?

删除“DerivedData”后,Xcode 不会添加“嵌入式二进制”

清除编译缓存DerivedDate

如何从 XCode 中的 DerivedData 下的模块文件中停止“签名不匹配”错误?

清除 xcode CoreSimulator 开发缓存 DerivedData iOS DeviceSupport

DerivedData/ModuleCache 中的致命错误