进一步编辑于2017年6月: Xcode 9自动执行此操作,无需任何特殊工作。这个答案和布兰登的答案仅适用于Xcode 8及更早版本。
编辑于2016年12月:布兰登的答案现在是一个更好的解决方案。早在2010年创建此答案时,这是我能找到的唯一选择。我现在在下面建议布兰登的答案。
事实证明,将文件移动到真实文件夹中当然是可能的,尽管并不是那么简单。
我从这里的一个问题(Xcode组织文件和文件夹,即核心数据模型对象-iPhone)中获得了基本信息,但是在此过程中学到了重要的知识。
流程
移动文件是一个包含两个子步骤的两步过程:
告诉Xcode您要将文件放在哪里:
- 右键/按住Control键并单击您要移动的文件或文件组,然后从出现的上下文菜单中选择“ 获取信息 ”。出现“ 组信息”或“ 文件信息”窗口。
- 在“ 路径”区域中,单击窗口最右侧的“选择”按钮。出现一个对话框。
- 导航到要将文件移动到的文件夹。如果需要,请创建一个新文件夹。单击对话框右下角的“ 选择”按钮,然后关闭“ 组信息/文件信息”窗口。
- 该组中一个或多个文件的名称将变为红色,表示Xcode在您指定的位置找不到它们。
移动实际文件
- 在Finder(或Git)中,将您在步骤1中选择的文件移动到您想要放入的实际文件夹中。
- 切换回Xcode。文件/组应全部重新变黑。如果仍然有红色,则说明您没有将某些内容移到正确的文件夹中。
提示
在调整此项目中的〜300个文件时,我学到了一些重要的知识:
- 一些文件拒绝以这种方式移动;也就是说,当您导航到新目的地时,“选择”按钮被禁用,“ 新文件夹”按钮也被禁用。解决方案虽然不知道为什么会有所不同,但首先要使用Xcode将这些文件放入组中(右键/按住Control键并单击文件,然后选择Group,然后为组命名),然后移动分组到新位置。在Finder中实际移动了文件之后,您可以将它们从组中删除(通过将它们拖到新的父组/文件夹中并删除该组)。
- 完成许多文件的步骤2之后,每隔几分钟停止并构建一次。该版本将告诉您到目前为止是否已拧紧任何东西,从而可以在造成太大损坏之前更轻松地回去修复它。
- 如果文件不会移动到您想要的位置—我曾一度魔鬼般地移动了一些在Classes文件夹中早期创建的文件,则只需将它们从查找器中的旧位置拖到在方便的地方(如桌面)删除Xcode中对它们的引用,然后通过右键/按住Control并单击Add Existing Files选项重新导入它们。
- 如果过去使用Xcode删除对文件的引用,但又没有将其移至该项目中的垃圾箱,那么您会发现这些文件不必移动,而只需放在那里即可。请注意,不要做我所做的事情,将我正在移动的当前文件组的名称与较旧的,不再链接的文件混淆,并坚持认为Xcode会导入它们,因为您认为它很密集。
希望这对将来的人有帮助。我感到惊讶的是,它既困难又棘手。