Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件移动到Xcode中的真实文件夹中_Xcode_Macos_Ios_Directory - Fatal编程技术网

将文件移动到Xcode中的真实文件夹中

将文件移动到Xcode中的真实文件夹中,xcode,macos,ios,directory,Xcode,Macos,Ios,Directory,当我开始我的项目时,我很高兴在Xcode中使用组,而不是文字文件夹:因为我在Xcode中使用浏览器访问所有内容,所以东西组织得很好,我很高兴 然而,现在该项目即将被共享以进行版本控制,对于那些试图通过终端扫描它的人来说,项目文件夹本身就是一场恐怖秀,大约300个文件,其中一半以上是图形 我现在正在尝试重新组织东西,创建真正的文件夹并将它们导入Xcode。不幸的是,Xcode不允许我像处理组那样处理它们。例如,如果我右键单击一个实际添加的文件夹(蓝色,不是黄色),并选择添加现有文件,它实际上不会将

当我开始我的项目时,我很高兴在Xcode中使用组,而不是文字文件夹:因为我在Xcode中使用浏览器访问所有内容,所以东西组织得很好,我很高兴

然而,现在该项目即将被共享以进行版本控制,对于那些试图通过终端扫描它的人来说,项目文件夹本身就是一场恐怖秀,大约300个文件,其中一半以上是图形

我现在正在尝试重新组织东西,创建真正的文件夹并将它们导入Xcode。不幸的是,Xcode不允许我像处理组那样处理它们。例如,如果我右键单击一个实际添加的文件夹(蓝色,不是黄色),并选择添加现有文件,它实际上不会将它们放在该文件夹中,而是将它们放在其根目录中

同样,我不能将文件从一个假文件夹(一个组)移到一个真正的文件夹中:XCODE不认为真正的文件夹是把东西移动到的有效地方。


我错过了什么?我如何说服Xcode让我以使用组的方式使用文件夹?这里有一个关于a的答案,但它实际上并不能解决我的问题,因为我正在处理现有文件。

进一步编辑2017年6月:Xcode 9自动完成此操作,无需特别努力。此答案仅适用于Xcode 8及更早版本

2016年12月编辑:布兰登下面的答案现在是一个更好的解决方案。当这个答案在2010年创建时,这是我能找到的唯一选择。我现在建议如下


事实证明,将文件移动到真正的文件夹中当然是有可能的,但并不像应该的那么简单

我从这里的一个问题中得到了基本信息,但在这一过程中我学到了一些重要的东西

过程 移动文件是一个包含多个子步骤的两步过程:

  • 告诉Xcode您想要文件的位置

    • 右键/控制键单击要移动的文件或文件组,然后从出现的上下文菜单中选择“获取信息”。此时会出现组信息文件信息窗口。

    • 单击路径区域窗口最右侧的选择按钮。此时会出现一个对话框。

    • 导航到要将文件移动到的文件夹。如果需要,创建一个新文件夹。单击对话框右下角的“选择”按钮,然后关闭“组信息/文件信息”窗口。

    • 组中的文件名将变为红色,表示Xcode在您指定的位置找不到它们。

  • 移动实际文件

    • 在Finder(或Git)中,将您在步骤1中选择的文件移动到您想要的实际文件夹中。

    • 切换回Xcode。文件/组应再次全部变为黑色。如果任何文件仍为红色,则表示您没有将某些内容移动到正确的文件夹中
  • 提示 在这个项目中调整~300个文件时,我学到了一些重要的东西:

    • 一些文件拒绝以这种方式移动;也就是说,当您导航到新目标时,选择按钮和新建文件夹按钮将被禁用。虽然我不知道为什么会有不同,但解决方案是首先使用Xcode将这些文件放在一个组中(右键/控制键单击文件并选择,并为组命名),然后将组移动到新位置。在Finder中实际移动文件后,您可以将其从组中删除(通过将其拖动到新的父组/文件夹中并删除组)。

    • 完成步骤2后,每隔几分钟停止并构建一次多个文件。该版本将告诉您到目前为止是否有任何问题,以便在您造成太多损坏之前,更容易返回并修复它。

    • 如果文件无法移动到您想要的位置-我花了很长时间才移动了一些早期在Classes文件夹中创建的文件-您只需将它们从finder中的旧位置拖到桌面等方便的地方,在Xcode中删除对它们的引用,然后通过右键/控制键单击添加现有文件选项重新导入文件。

    • 如果在过去,您使用Xcode删除对文件的引用,而不将其移动到该项目中的垃圾箱中,那么您将发现不需要移动的文件,而只是放在那里。小心不要像我那样做,混淆我正在移动的当前文件组和旧的、不再链接的文件组的名称,坚持让Xcode导入它们,因为你认为它很密集

    希望这对未来的人有所帮助。我感到惊讶的是,这是如此的困难,有时也很棘手。

    我通常会在Finder中将文件直接移动到目录中,然后在XCode中的“获取信息”对话框中用红色名称修复文件:单击“选择…”按钮并选择文件的新位置。当我想在XCode中移动文件时,这是第一个响应,它可以工作

    我发现解决XCode糟糕设计的最可靠方法是在Finder中组织所有文件,原因有二:

  • 与XCode的GUI不同,Finder不会犯“错误”
  • 在Finder中组织好之后,您可以将整个Finder文件夹拖放到XCode中,然后。。。它完全是你想要的,不费吹灰之力
  • 即使在移动现有XCode文件时,执行此操作也会更快:

  • 选择Finder中的文件
  • 在Finder中为他们创建一个文件夹
  • 将它们拖放到文件夹中(自动移动它们)
  • 将Finder文件夹拖放到Xcode中(自动:创建Xcode文件夹,添加Finde中的每个文件)
    --no-default-exclusions