【问题标题】:What does the dark triangle, located on the folder icons in Xcode 9, mean?Xcode 9 中文件夹图标上的黑色三角形是什么意思?
【发布时间】:2018-01-31 18:03:26
【问题描述】:

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

【问题讨论】:

    标签: xcode xcode9


    【解决方案1】:

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

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

    对于 New Group Xcode 在项目导航器中创建组并在文件结构中创建文件夹(在 finder 中),当然对于 New Group without Folder 只创建组。 p>

    【讨论】:

    • Xcode 9.0 release notes 有一些关于新功能的附加信息,例如“项目导航器中的组现在与文件系统中的目录更紧密地关联。(28612132)”
    【解决方案2】:

    Xcode 9 中带有三角形 () 的黄色文件夹的介绍允许 Project Navigator Group 的附加新功能相吻合与文件系统目录直接关联

    带有三角形 () 的 Xcode 9/10 黄色文件夹代表一个组与文件系统目录无关。 因此,一个 Xcode 9/10 黄色文件夹-with-a-三角形组 () 与 Xcode 8 纯黄色组 () 相同……因为在 Xcode 9 之前,项目导航组不能明确关联与文件系统目录。

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

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

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

    Xcode > File > New 菜单或 Project Navigator 上下文菜单可以通过以下方式添加 Groups:

    请注意,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 Navigator 选择中创建一个相同类型的组。
      • Group with Folder () 中的上下文创建一个空组并创建一个关联的“包含”文件系统目录,并且将所选项目移动到新创建的“包​​含”目录中文件系统。
      • Group without Folder () 中的上下文会创建一个组,该组引用选择而不在文件系统中创建任何新文件夹。

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

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

    • 在项目导航器中的组之间拖动文件会移动文件系统中的文件并更新任何关联的 SCM 工作副本。

    • 当一个组连接到文件系统中的文件夹时,创建、重命名和删除组会更新文件系统中相应的文件和文件夹。

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

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

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

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

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

    注意:Xcode 9 和 Xcode 10 组的行为相同。

    【讨论】:

    • 我很快就明白了这个新原理。但后来我将一个现有文件夹(位于我的项目文件夹中)拖到我在 Xcode 中的项目中,并选择了创建文件夹引用。我以为这将是一个黄色文件夹。但它变蓝了:D。当我将文件夹拖到项目外部并在选择 create groups 时将其拖到 Xcode 中时,我得到了预期的结果。
    • @fl034 已将附录添加到涵盖蓝色文件夹的答案中。蓝色(引用)文件夹对于要复制到应用程序包中的(非代码)文件很有用。
    • 感谢您的澄清!
    • 我不知道 Xcode 9.4.1 但在 Xcode 10 beta 中它现在是“组”和“带文件夹的组”。我认为他们颠倒了它们(即“组”现在不创建任何文件夹,只是一个参考)。至少他们在我的测试中是这样做的。
    • @l--marcl 这是一个非常彻底的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2010-12-31
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多