2

有没有办法让 xcode 在项目导航器中使用真实的文件夹层次结构?我发现这些伪文件夹有点烦人,因为它们没有反映磁盘上的项目。或者至少让 xcode-made-folders 的颜色与真正的文件夹不同?

谢谢。

4

2 回答 2

1

不是真的,虽然它们颜色不同。

您有组(黄色)——可以引用目录,但不会自动更新以反映磁盘上的内容。组还可以表示与目录或其内容结构无关的组。

您还有一个参考(蓝色)。这会自动更新,但其内容不是一流的项目项目。

就个人而言,我只是构建项目,以便它们可以(重新)从磁盘上的表示轻松(例如删除文件夹)或在另一个 IDE 中构建。很多时候,可以(不必要地)在 Xcode 中定义的细节被移到 xcodeproject 之外。一旦您弄清楚如何构建程序/源/目标,在项目导航器中同步表示就像拖放一样简单。

编辑:我指的是项目导航器。您所说的“项目组织者”是指项目导航器还是组织者的某些部分,我不确定。

于 2012-06-04T18:36:12.883 回答
1

使文件夹结构模仿您的 Project Navigator 组结构:

对于此过程,与往常一样,在执行此操作之前备份整个项目文件夹(Finder 中的压缩存档很好)。

您想要为添加到项目或由项目创建的新文件轻松设置,但如果您在所需的组中已经有很多文件,但在您想要的磁盘文件夹中没有很多文件,则可能会一团糟。

如果您在 Project Navigator 中选中一个组,请将注意力转移到 Utilities 窗格 > File Inspector > Identity。关键领域是处理路径。弹出窗口将为您提供指向组文件默认位置的各种相对路径,而完整路径将始终为您提供。在一个新项目中,您会发现创建的所有组都分配了相同的位置。

现在这里的关键是弹出窗口下方的小窗口图标按钮(最右边)。如果单击它,您可以为该组中的文件选择一个(文件夹)位置。如果您在该组中已有文件,则它们不会被移动到新位置,而是会在 Project Navigator 中变为红色,因为磁盘上的文件不在为该组新分配的路径中,而是将它们移动到您刚刚分配的文件夹中为该组设置应该可以修复您的备份。

(提示:小箭头按钮是“在 Finder 中显示”的快捷方式)

现在,当您制作“新文件...”时,在选择您想要的文件类型(下一步)后,然后配置适用于该类型的任何设置(下一步),您会看到一张表格,询问将文件放在哪里新文件。如果您在开始此过程之前在 Project Navigator 中选择了该组,它将已被选为工作表底部“组”弹出窗口中的项目,并且与该组关联的文件夹将在文件浏览器中选择. 如果您决定要将它放在不同的组中(我一直这样做,因为在我到达这一点之前我不会在 Project Navigator 中选择正确的组),只需在底部的 Group 弹出窗口中更改它,然后文件浏览器将更改为与您刚刚选择的组关联的文件夹。

如果您稍后在 Project Navigator 中创建组的子组,它将默认为父组的路径。如果在设置父组的路径时已经存在子组,则任何现有子组的路径都不会随父组移动。

避免重复文件:如果要将现有文件移动到另一个组(已经分配了路径)并将文件移动到磁盘上的组文件夹中,此时您可以选择。您可以继续从 Project Navigator 中删除它们,确保只删除对它们的引用并继续下一步,或者作为一个选项,您可以在 Project Navigator 中将它们实际移动到您希望它们所在的组(这个不会更改文件的磁盘位置 - 与组关联的文件夹仅适用于组的新文件)并将它们用作仍然需要从 Finder 中拖入的内容的指南。如果您要移动大量现有文件,这可能会派上用场,稍后您会看到。

现在,在 Finder 中,手动将一些文件移动到它们最终应该位于的文件夹中(与新组关联的文件夹)。如果您在 Project Navigator 中移动它们(而不是删除它们),它们将变为红色,因为实际文件不在它们所在的位置,但这可以作为指南(特别是如果您要移动大量文件)对于仍然需要正确设置的内容。

现在,您可以将它们从 Finder 拖放到与您放置文件的文件夹关联的组中。在出现的对话框中,是否选中复选框以进行复制(如有必要)都没有关系,因为它们已经到位,但确保您有“添加到目标”复选框很重要( es) 检查。

如果您从旧组中删除了文件(仅删除参考),您可以进入 Finder 中旧组的文件夹并将文件从那里拖到 Project Navigator 中的新组中,您需要确保选中 Copy if necessary,但这是最终在磁盘上出现重复文件的地方......在旧组的文件夹和新组的文件夹中。这就是为什么您要先在 Finder 中将它们移动到新位置,然后再将它们拖到 Project Navigator 中的新组中。

如果您将 Project Navigator 中的红色文件留在正确的组中,则在将相同的文件添加到组中之后(不需要复制到组,因为它们已经在正确的位置),您最终会得到新的(黑色)引用文件以及对相同文件的红色损坏引用。此时,您可以从组中删除红色文件,而不会询问您是要删除文件还是仅删除参考。将红色文件留在新组中,直到您在 Project Navigator 中与它们一起显示正确的(黑色)文件,这有助于确保您将所有文件放回 Project Navigator。

如果您只是在几个/几个文件中移动,那么一旦您将项目导航器和 Finder 中的文件移动到正确的位置,您可以在项目导航器中选择每个红色引用并选择该特定文件的路径(与将文件夹分配给组的方式相同)。但是,如果您要移动一堆文件,这可能需要很长时间(一次只能分配一个),因此最好从 Finder 中将它们放入。

还有一个需要注意的问题……最好不要管“支持文件”组中的所有内容,以及 MainMenu.xib,因为根据构建设置,这些都应该位于特定位置。

请记住:始终确保首先进行备份(如果您正在移动大量文件,事情可能会失控)......仅仅拥有快照可能无济于事,因为恢复到快照不会移动您的文件在磁盘上回到原来的位置。

于 2012-06-28T08:56:33.937 回答