当我开始我的项目时,我很高兴在 Xcode 中使用 Groups 而不是文字文件夹:因为我在 Xcode 中使用浏览器来访问所有内容,所以东西组织得很好,我很高兴。
然而,既然项目即将被共享以进行版本控制,项目文件夹本身对于那些试图通过终端扫描它的人来说是一场恐怖表演,大约有 300 个文件,其中超过一半是图形。
我现在正在尝试重新组织事物,创建真正的文件夹并将它们导入 Xcode。不幸的是,Xcode 不允许我像处理组那样处理它们。例如,如果我右键单击一个实际添加的文件夹(蓝色,而不是黄色)并选择添加现有文件,它实际上并没有将它们放在那个文件夹中,而是将它们放在它的根目录中。
同样,我无法将文件从虚假文件夹(组)移动到真实文件夹中:Xcode 不认为真实文件夹是移动内容的有效位置。
早在 2010年创建此答案时,这是我能找到的唯一选择。我现在建议回答,如下。
如果您将一堆文件移动到一个新文件夹中并保留子层次结构,这实际上比单独移动每个文件要容易得多:
在 Xcode 文件夹树中创建新组,并根据需要将文件组织到其中。
在 Finder 中创建一个匹配的物理文件夹树,并将您的物理文件组织到其中以匹配您在步骤 1 中所做的操作。
Xcode 中的所有引用现在都应该是红色的(没关系!)。
从身份和类型管理器中,选择要重新定位的 Xcode 中的组,然后单击信息窗格中的文件夹图标:
这不是很好吗?最多您必须为您创建的每个新组重复这 5 个步骤一次(这比单独重新定位每个文件要好!)
假设您不小心搞砸了移动,现在您的一堆文件是红色的并且无法找到:选择多个损坏的文件,并使用步骤 4 的屏幕截图中的相同文件夹图标,找到包含这些文件的正确文件夹文件,它们会自动解决丢失的路径。
事实证明,将文件移动到真正的文件夹中当然是可能的,尽管并不像应该的那么简单。
我从这里的一个问题中获得了基本信息, Xcode 组织文件和文件夹(核心数据模型对象 - iPhone) ,但在此过程中学到了重要的东西。
移动文件是一个包含多个子步骤的两步过程:
告诉 Xcode 你希望文件在哪里 :
右键/按住 Control 键单击要移动的文件或文件组,然后从出现的上下文菜单中选择 “获取信息”。 出现 组信息 或 文件信息 窗口。
单击 路径* 区域中窗口最右侧的 选择按钮。 出现一个对话框。 *
导航到要将文件移动到的文件夹。如果需要,创建一个 新文件夹。 单击对话框右下角的 选择按钮,然后关闭 组信息/文件信息 窗口。
组中文件的名称将变为红色,表示 Xcode 在您指定的位置找不到它们。
移动实际文件
在 Finder(或 Git)中,将您在步骤 1 中选择的文件移动到您希望它们所在的实际文件夹中。
切换回 Xcode。文件/组应该都变黑了。如果有任何仍然是红色的,那么您错过了将某些内容移动到正确的文件夹。
在调整这个项目中的约 300 个文件时,我学到了一些重要的东西:
有些文件拒绝以这种方式移动;也就是说,当您导航到新目的地时, 选择 按钮被禁用, 新文件夹 按钮也是如此。解决方案,虽然我不知道为什么会有所不同,但首先使用 Xcode 将这些文件放在一个 Group 中(右键/控制单击文件并选择 Group ,然后给组一个名称),然后移动组到新位置。在您实际移动 Finder 中的文件后,您可以将它们从组中删除(通过将它们拖到新的父组/文件夹中并删除该组)。
在完成多个文件的第 2 步后,每隔几分钟停止并构建。该构建会告诉您到目前为止是否搞砸了任何东西,从而更容易在您造成太大损坏之前返回并修复它。
如果文件无法移动到您希望它们移动到的位置——我曾经很喜欢移动一些早期在 Classes 文件夹中创建的文件——你可以简单地将它们拖出它们在 Classes 文件夹中的旧位置找到像桌面这样方便的地方,在 Xcode 中删除对它们的引用,然后通过右键/控制单击 添加现有文件 选项重新导入它们。
如果过去您曾使用 Xcode 删除对文件的引用,而没有将它们移动到此项目中的垃圾箱,您会发现不必移动而只需放置在那里的文件。小心你不要做我做的事,混淆我正在移动的当前文件组的名称和旧的、不再链接的文件,坚持让 Xcode 导入它们,因为你认为它很密集。
希望这对未来的人有所帮助。令我惊讶的是,它是如此困难,有时甚至很棘手。