Xcode 9 中文件夹图标上的黑色三角形是什么意思?

What does the dark triangle, located on the folder icons in Xcode 9, mean?

我使用 Xcode 9.0。我的 Xcode 项目中的一些文件夹图标在左下角有深色三角形 - 例如,“0. Login”、"Frameworks"、"Products"、"Pods"。这是什么意思?

没有黑色三角形的文件夹在您的项目中作为一个组存在,并且(Xcode 9 中的新功能)在文件结构中作为一个文件夹存在。

示例: 双击项目导航器后,您可以看到菜单:

对于 New Group Xcode 在项目导航器中创建组并在文件结构(在 finder 中)中创建文件夹,当然 New Group 没有文件夹 仅创建组。

介绍Xcode9中带三角形()的黄色文件夹与附加新功能 允许项目导航器组直接与文件系统目录相关联

带有三角形 () 的 Xcode 9/10 黄色文件夹代表一个组 与文件系统目录无关。 因此,一个Xcode 9/10 黄色文件夹带三角形组 ( ) 与 Xcode 8 纯黄色组 ( ) 相同......因为在 Xcode 9, Project Navigator Groups 无法明确关联 与文件系统目录。

在 Xcode 9/10 中,可以使用文件检查器 明确地将文件系统目录关联添加到 Project Nagivator 组或从中删除。三角形将打开或关闭以指示该组是否存在文件系统关联。

单击文件检查器文件夹图标以添加文件系统“包含目录”关联到组:

单击文件检查器Clear path从组中删除文件系统目录关联.或者,单击文件夹图标以更改文件系统“包含目录”关联到一个组:

Xcode > 文件 > 新建菜单或项目导航上下文菜单可以通过以下方式添加组:

请注意 Group with FolderGroup without Folder 的出现是上下文相关的。

  • New Group: 创建一个 与 Xcode 导航器中当前最上面的选择相同的组类型的空组。 Group with FolderGroup without Folder 的对立选择 也将出现在同一菜单上。
  • New with Group: ( ) 创建一个空组并创建一个关联的“包含”文件系统目录。
  • New Group without Folder: ( ) 创建一个没有任何文件系统目录关联的新空组。
  • New Group from Selection: 在当前 Xcode 导航器选择中创建一组相同类型。
    • Group with Folder ( ) 中的上下文创建一个空组并创建关联的“包含”文件系统目录并且 将所选项目 移动到文件系统中新创建的“包​​含”目录。
    • Group without Folder ( ) 中的上下文创建一个引用所选内容的组,而不在文件系统中创建任何新文件夹。

此外,使用新的 Xcode 9 功能,将文件系统目录拖放到项目导航器上将创建组 () 和子组 ( ), 每个都与相应的原始文件系统目录相关联。

Xcode 9 release notes 指出具有关联文件系统目录的组也有以下新行为:

  • Dragging files between groups in the Project Navigator moves the files in the filesystem and updates any associated SCM working copies.

  • When a group is connected to folder in the filesystem, creating, renaming, and deleting groups updates the corresponding files and folders in the the filesystem.

附录 - 蓝色(参考)文件夹

蓝色引用文件夹对于需要在构建过程中复制到目标包中的非源代码资产很有用。

将现有文件夹拖到 Xcode 时,会为添加的文件夹提供“创建文件夹引用”选项。

“创建文件夹引用”将在项目导航器中创建一个 blue 文件夹。 并且,文件夹的内容也将被添加。“SomeReferencedFolder”已添加到以下 Example.xcodeproject 中,其中包含 ABC.pdf

在这个macOS Example应用案例中,引用的文件夹和引用的文件夹内容被复制到Example.app包中。自从选中“添加到目标:示例”以来,复制作为构建过程的一部分发生。

注:Xcode9 & Xcode10组行为相同