Xcode 导出数据到/dev/null

标签 xcode developer-tools

任何使用过 Xcode 的人都知道它在build设置、链接器错误和其他普遍的废话方面是多么挑剔。添加任何依赖项管理器(例如 CocoaPods),突然间您几乎每次构建时都会删除派生数据。

所以我的问题有两个:

派生数据到底负责什么?

如果我通过重定向到 /dev/null 完全放弃它的使用,会发生什么? DerivedDataDevNull

最佳答案

DerivedData 文件夹包含源自 Xcode 处理的所有数据。这包括任何构建工件,例如 header 映射、中间构建步骤(.o 文件等)和构建产品(编译后的代码)。它是所有构建日志、运行日志和测试结果的目标。最后,它包含用于代码着色和搜索的所有索引缓存。

基本上,它会破坏一切。完全按照您所说的使用 /dev/null 进行构建会导致大量问题,主要是因为它实际上试图在那里读取和写入文件,但不能。

假设,如果它可以在没有 DerivedData 或任何类似的东西的情况下存在(例如,Xcode 过去严重依赖 Build/ 文件夹),那么编译速度将极其缓慢且占用内存。

Xcode 中与 DerivedData 相关的奇怪行为,以及通过清除此类问题解决的问题,主要是因为缓存失效非常困难。就像,真的很难。

关于Xcode 导出数据到/dev/null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26390604/

相关文章:

xcode - '[AnyObject] ?' is not convertible to ' NSArray'

javascript - webpack 中的 sourcemaps 有什么区别

javascript - Chrome Profiler 中的 "Not optimized"警告是什么意思?

css - Twitter 的 Typeahead - 调试呈现的 HTML?

regex - 是否可以通过正则表达式过滤 Chrome/Firebug 网络面板?

ios - iTunes 存储操作失败应用程序在负载 : setResult; taskWithResult 中引用非公共(public)选择器

iphone - 当用户点击 iPhone 中的上方 View 时隐藏 UIActionSheet

objective-c - UITableViewCellAccessoryDe​​tailDisclosureButton 和 UITableViewCellAccessoryDisclosureIndicator 之间有什么区别吗

html - 网站奇怪地坏了

iphone - NSMutableArray 难度