Objective c Xcode 4“清理”与“清理构建文件夹”

Objective c Xcode 4“清理”与“清理构建文件夹”,objective-c,ios,xcode,xcode4,Objective C,Ios,Xcode,Xcode4,在每个应用程序的开发过程中,您都会遇到这样的情况:您在模拟器中看到的与您认为应该发生的不匹配。这些大多是人为错误——或者至少在我的大多数情况下是如此;——但有时候Xcode只是“迷失方向”,或者看起来是这样。我了解到,Clean Shift+Cmd+K和Clean Build Folder…Option+Shift+Command+K菜单选项可以显示错误与Xcode之间的差异 我的问题是: Clean命令做什么或不做什么,这留下了Clean Build Folder…存在的理由?什么时候我应该选

在每个应用程序的开发过程中,您都会遇到这样的情况:您在模拟器中看到的与您认为应该发生的不匹配。这些大多是人为错误——或者至少在我的大多数情况下是如此;——但有时候Xcode只是“迷失方向”,或者看起来是这样。我了解到,Clean Shift+Cmd+K和Clean Build Folder…Option+Shift+Command+K菜单选项可以显示错误与Xcode之间的差异

我的问题是:

Clean命令做什么或不做什么,这留下了Clean Build Folder…存在的理由?什么时候我应该选择一个而不是另一个,为什么不总是清理整个文件夹呢

清除…清除当前选定目标的文件夹。 清理生成文件夹…清理所有目标的文件夹。

如果从“产品”菜单中选择“清理”,XCode将删除生成文件夹中每个文件夹中的文件,如果选择“清理生成文件夹”,则将删除整个生成文件夹

清除命令后:

清除生成文件夹命令后:

我认为,当你想要构建一个二进制文件并将其发布到AppStore时,当你的项目出错时,或者当你的应用程序因未知原因无法工作时,你应该选择Clean Build Folder,否则使用Clean


我希望我已经回答了您的问题:D

如果您选择Clean,Xcode将删除当前目标的每个文件夹中的文件,例如生成文件夹中的产品、中间产品。其他目标的文件仍保留

如果选择Clean Build Folder,Xcode将删除整个Build文件夹,因此不会留下任何内容

在大多数情况下,清理会因未知原因而起作用,但您仍然必须清理生成文件夹,因为Xcode不会删除Products文件夹中include文件夹中的文件

清理或清理生成文件夹后,~/Library/Developer/Xcode/DerivedData/xxx ABCD中的某些文件已被删除,其中xxx是项目或工作区的名称。。。。显然,清理构建文件夹。。。将删除比“清理”更多的文件。但是,我认为在某些情况下需要删除我前面提到的文件夹,例如您的Xcode无法正常工作


顺便说一句,Xcode 8的某些内容发生了变化,在清理构建文件夹之后,构建文件夹保持不变…

从Xcode 10开始,“清理”实际上已经消失。苹果公司:


新生成系统使用“清理生成文件夹”行为。不支持旧版清理行为

你可能会在中找到一些答案。那里可能有一些隐藏的线索,但这完全不是一个重复的问题。我的是关于clean和clean build folder这两个外观非常相似的命令之间的区别。但谢谢你的提醒。这是含糊不清的撇号在所有目标的文件夹。您是指所有目标的文件夹还是与选定目标关联的其他文件夹?此答案不完整。Clean Build Folder解决了只有一个目标的项目中的问题。很抱歉对此表示怀疑,但这似乎有些奇怪。你是说两者之间的唯一区别是一个删除文件夹,另一个保留文件夹但删除所有内容?有四个空文件夹有什么区别?然而,清理和有时不得不清理构建文件夹之间有着明显的区别……是的,这是唯一的区别。就我个人而言,在为iOS模拟器构建应用程序之前,或者当我在代码和/或XCode和Clean Build文件夹方面遇到奇怪的问题时,或者当我想将应用程序发布到应用商店时,或者当我想确保我的应用程序是从头构建的,没有缓存时,我会使用Clean。是我吗,或者“清理生成文件夹”比“清理”快?Xcode 8的某些内容已更改,生成文件夹保留在清理生成文件夹之后。。。。显然,清理构建文件夹。。。它比干净更完整。但是,我认为在某些情况下需要删除~/Library/Developer/Xcode/DerivedData/xxx ABCD文件夹,例如您的Xcode无法正常工作,其中xxx是您的项目或工作区的名称。当人们回到一个流行的老问题和答案时,请始终保持喜爱,并给出一个非常清晰的示例和解释