44

我有一个具有以下组结构的 Xcode 项目:

ProjectName/
    Classes/
        class1.h
        class1.m
        class2.h
        class2.m
        ...
    XMLDocs/
        doc1.xml
        doc2.xml
        ...
    Resources/
        Info.plist
        MainMenu.xib
        ...

等等等等。

我希望这也能在磁盘上的文件夹结构中表示:

ProjectFolder/
    Project.xcodeproj
    Classes/
        class1.h
        class1.m
        class2.h
        class2.m
        ...
    XMLDocs/
        doc1.xml
        doc2.xml
        ...
    Resources/
        Info.plist
        MainMenu.xib
        ...

与根项目文件夹方法中的通常所有内容相反。

有没有办法做到这一点,而无需在磁盘上手动创建文件夹结构,然后必须将 Xcode 中的所有引用重新指向新位置?

如果您能告诉我如何在我创建新组或将文件添加到 Xcode 中的现有组时自动执行此操作,则可以加分。

4

6 回答 6

63

可以在某种程度上做到这一点!每次创建新组时只需多做一个步骤(这是第一次,您将有很多事情要做!):

Xcode 位置设置

每当您在 Xcode 中创建组时,立即选择它并打开右侧边栏。请注意其名称下方的“位置:”设置。单击“无”旁边的文件夹图标并将其设置为具有相同名称的新文件夹。

现在,每当您将文件添加到组中时,它们都会转到磁盘上的相应文件夹。哇!

不幸的是,在最初的时候,您将有很多文件移动工作要做。(当您更改组路径时,您的文件将全部变为红色,因为 Xcode 将开始在新文件夹中查找它们。您必须手动将它们从 Finder 中移动以修复它。)但是,有一个命令-line 工具为您执行此初始迁移:https ://github.com/venmo/synx

于 2011-01-14T20:24:46.873 回答
11

文件夹引用是您想要的。将文件拖动或添加到项目时,可以选择“为任何添加的文件夹创建文件夹引用”。选择它,你会得到你想要的行为。

替代文字 http://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png

您可以尝试将项目的整个封闭文件夹添加为文件夹引用。那应该得到一切。或者单独添加对“类”、“资源”和“XML”的引用。

于 2008-12-04T00:01:24.603 回答
1

Xcode9 解决了这个问题。默认情况下,会在磁盘上创建一个具有相应文件夹的新组。

于 2017-07-12T07:26:23.883 回答
0

Xcode 中没有“让我的磁盘看起来像我的项目结构”功能。

不过,您可以使用 AppleScript 自动执行该任务:您可以通过脚本检查和更改项目结构。因此,您只需要编写一个脚本来迭代项目结构并使文件夹层次结构看起来与项目结构相同,并同时调整 Xcode 的文件和组引用指向的位置。

于 2008-12-06T04:39:14.043 回答
0

我发现如果您在 Xcode 中移动文件并同时按 [CMD],则文件夹结构将与 Xcode 结构匹配。

于 2019-05-28T13:45:29.773 回答
0

我创建了一个应用程序来解决这个问题并重新组织你的文件结构以匹配你在 Xcode 中得到的内容。 https://apps.apple.com/gb/app/xsaviour/id1449886415?mt=12

于 2021-06-26T21:49:58.033 回答