为啥清除 Derived Data 会清除 Xcode 中的各种错误?
Posted
技术标签:
【中文标题】为啥清除 Derived Data 会清除 Xcode 中的各种错误?【英文标题】:Why does clearing Derived Data clear up various errors in Xcode?为什么清除 Derived Data 会清除 Xcode 中的各种错误? 【发布时间】:2016-12-16 20:15:01 【问题描述】:通常,人们在 xcode 中遇到各种问题或构建错误,并被告知清除派生数据以解决他们的特定问题。什么是派生数据,删除它可以解决各种问题?派生数据中包含哪些内容?
【问题讨论】:
大量构建信息存储在那里,有时这些信息与您所做的更改发生冲突并且 Xcode 不会更新它,因此清理它可以确保 Xcode 构建您的代码完全干净的状态。 【参考方案1】:Xcode 会在该文件夹中缓存大量数据,包括应用的资产(图像、音频)、编译的代码/库等。
Xcode 这样做是为了加快构建/运行/调试周期,如果它必须每次都重新构建每一个东西,那么您可以在几秒钟内完成微小的更改和重新构建/测试。
但是,在某些情况下,您所做的更改不会被 Xcode 检测到,因此不会被合并到您的下一次构建/运行中。这是当您遇到奇怪的问题时,有些问题很明显,例如未合并更改的图像,您将在构建中看到旧图像。如果遗漏的更改是代码中未合并的逻辑,则该问题不会那么明显,并且可能显示为不正确的结果甚至崩溃。
清除您的 Derived Data 文件夹(最好在关闭 Xcode 的情况下),下次强制进行完整构建,代价是需要额外的时间。当然,与尝试调试和发现实际上可能不存在的问题相比,编译所花费的额外时间微不足道。
【讨论】:
顺便说一句,我是一个名为 Watchdog for Xcode 的应用程序的开发人员:itunes.apple.com/us/app/watchdog-for-xcode/…,它为您管理 Derived Data 文件夹。它会在特定时间自动为您清除,让您的生活更轻松。以上是关于为啥清除 Derived Data 会清除 Xcode 中的各种错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 jQuery Ajax 帖子会清除所有使用 load() 的 div?
为啥在创建 UIWebView 后清除 NSUserDefaults 会导致 EXC_CRASH?
反应JS |为啥在输入更改时更新此状态挂钩会清除输入以防止写入任何内容?