在Xcode中创建组与创建文件夹引用

ozxc1zmp  于 2023-06-30  发布在  其他
关注(0)|答案(4)|浏览(155)

我对使用Xcode很好奇。
在复制项目所需的开源类文件时,我总是需要选择一个选项。
选项为“创建组”和“创建文件夹引用”。
我已经看过两者的区别了。
但它根本不被理解。
当我选择两个选项中的一个时,我从我的项目中删除了该文件,同时删除了开源类文件。
我不想要。
我想永远作为一个独立的文件存在。我该选什么?

72qzrwbm

72qzrwbm1#

我花了一段时间才明白这两个选项之间的区别,所以我想我应该分享:
我写这篇文章的时候Xcode 12是当前版本
最大的区别是如何从finder访问导入的文件夹/文件。假设你想导入一个新的文件夹到你的Xcode项目中。当你选择Create groups时,Xcode将导入你的新文件夹并创建一个组(黄色图标)。当你转到你的项目目录(使用Finder)时,你应该会看到一个名为与你刚刚导入的文件夹类似的文件夹,但是你通过Finder放入这个文件夹的任何其他文件在你的Xcode项目中都是不可见的。
当你选择Create folder references时,导入的文件夹将在Xcode中有一个经典的蓝色文件夹图标。这个新文件夹在你进入你的项目目录时也是可见的,但是现在你放在那里的每个新文件也会出现在你的Xcode项目中。
如果你想知道更多,请阅读此说明http://www.thomashanning.com/xcode-groups-folder-references/
它非常简单易懂。

wtlkbnrh

wtlkbnrh2#

任何Xcode项目结构组织有两种类型:

*filesystem项目结构(可使用 * Finder.app * 检查)
*IDE项目结构(可通过Xcode导航区的 Project Navigator 进行检查。)

Xcode依赖于文件系统的组织,它保持对“物理”文件或文件夹的引用。这就是为什么你可以将所有的类、图像、列表和项目的其他部分存储在同一个 * 文件夹 * 中,而对这些部分的 * 引用 * 在Xcode项目中被组织到各自的 * 组 * 中。
当您创建一个组时,它会影响Xcode中项目的组织。当你用引用文件夹创建一个组时,它会同时创建Xcode项目中的一个组和文件系统中的一个文件夹。
Xcode 9 it seems like, Apple enforces filesystem project structure to correspond to Xcode project structure。这意味着,你必须明确选择“新组没有文件夹”

hjzp0vay

hjzp0vay3#

已将Finder中的文件和文件夹添加到Xcode组中。Xcode 10.2.1.看看没有Copy items if needed的例子

文件

create groupscreate folder references的常见行为
1.从Finder重命名文件不会在Xcode中重命名文件,因此Xcode不会处理它,它会用红色标记它们。
1.从Xcode重命名文件在Finder中重命名文件
1.从Finder更改文件,在Xcode中更改文件,反之亦然
1.从Xcode中删除文件以将其丢弃,在Finder中更改文件,反之亦然
1.从Finder文件夹添加文件不会将文件添加到Xcode

文件夹

create groupscreate folder references的常见行为:
1.重命名Xcode中的文件夹/组重命名Finder中的文件夹

create groups

如果选择create groups,则相应的文件夹将在项目导航器中显示一个黄色图标。

只是一个虚拟文件夹。在开发过程中,当您复制一个文件,而该文件尚未编译,并且您没有时间对其进行更改,并且只想检查项目是否工作时,它很有用。所以你可以从一个文件中删除一个引用。它不会从文件夹中删除,因此您可以再次添加此文件。
1.在Finder中重命名文件夹不会在Xcode中重命名的名称。您仍然可以使用组,但以前的内容虽然可见,但不可用
1.将文件添加到Finder文件夹不会将文件添加到Xcode
1.将文件添加到Xcode中的不会将文件添加到Finder中的文件夹
1.删除Finder中的文件夹不会删除Xcode中的。您仍然可以使用组,但以前的内容虽然可见,但不可用

create folder references

如果选择create folder references,则该文件夹将在项目导航器中显示一个蓝色图标。

这是一个真实的的文件夹,任何变化都会反映出来
1.在Finder中重命名文件夹不会在Xcode中重命名文件夹的名称。以前的内容已消失,您无法使用此文件夹
1.将文件添加到Finder中的文件夹将文件添加到Xcode中的文件夹
1.将文件添加到Xcode中的文件夹将文件添加到Finder中的文件夹
1.删除Finder中的文件夹将删除Xcode中的文件夹
Copy items if needed(https://stackoverflow.com/a/57701037/4770877)

sd2nnvve

sd2nnvve4#

创建文件夹引用:

  • 无用的,因为即使你列出这个文件夹要包含在一个目标中,Xcode也不会在那个目标中包含它的任何内容,而且没有办法点击文件夹中的某个东西,看看它包含在哪个目标中。

创建群组:

  • 如果您想在构建目标中包含任何文件夹的内容,这是唯一的方法。

相关问题