ios - 为什么清除 Derived Data 可以清除 Xcode 中的各种错误?

标签 ios objective-c xcode cocoa

通常,人们在 xcode 中遇到各种问题或构建错误,并被告知清除派生数据以解决他们的特定问题。派生数据有什么用,删除它可以解决各种问题?派生数据中包含什么?

最佳答案

Xcode 在该文件夹中缓存了大量数据,包括应用程序的资源(图像、音频)、编译的代码/库等。

Xcode 这样做是为了加快构建/运行/调试周期,允许您在几秒钟内进行小的更改和重建/测试,而不是每次都必须重建每一个东西。

但是,在某些情况下,您所做的更改不会被 Xcode 检测到,因此不会合并到您的下一个构建/运行中。这是当您遇到奇怪的问题时,有些问题是显而易见的,例如未合并更改的图像,并且您会在构建中看到旧图像。如果错过的更改是代码中未合并的逻辑,则该问题不会那么明显,并且可能显示为不正确的结果,甚至崩溃。

清除 Derived Data 文件夹(最好关闭 Xcode),强制下次进行完整构建,但会花费额外的时间。当然,与尝试调试和发现实际上可能不存在的问题的时间相比,花费在编译上的额外时间根本不算什么。

关于ios - 为什么清除 Derived Data 可以清除 Xcode 中的各种错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41191829/

相关文章:

ios - 核心数据 : Can't find model for source store - only in simulator?

javascript - 在没有释放 JSValue 的情况下,如何使用 JSManagedValue 来避免引用循环?

ios - Xcode 6.3 更新导致工作应用程序失败 - 现在工作的不是

iphone - 要在 plist 中指定的图标文件

ios - 在 ios swift 的 pdfview 中没有获得 "menu"中的突出显示选项

ios - alamofire post 方法中的 response.result.value 为 nil

ios - 在 "Metadata Rejected"之后还要多久才能回到 In Review?

ios - Swift:TableviewController 中的三个原型(prototype)单元格将无法查看

iphone - 在 iPhone 上创建粒子最有效的方法是什么

ios - 为什么Realm对象中没有我的属性?