我正在尝试为项目使用文件夹而不是组。目的是避免在项目文件中创建组,因为这些组会导致git中的合并冲突。
基本上,我希望有一个Xcode项目,该项目尊重项目目录(例如Android项目)中的文件结构,而不是使用参考系统。
当我将文件夹拖到项目中时,我:
这将创建一个文件夹层次结构(在项目中;蓝色文件夹图标),正如我期望的那样。我可以在Finder中添加/删除/重命名文件,并在Xcode中看到它们的更新。
此外,文件夹显示正确的目标成员身份。 (我已经读过,对于文件夹,文件从顶级文件夹获取其目标成员资格信息。即,您无需为每个文件设置目标。)
不幸的是,当我尝试访问其中一个文件时,假设EventBus.swift
,我收到错误消息Use of unresolved identifier 'EventBus'
这似乎是一个目标问题,但是我不确定为什么目标会成为问题。或者-也许由于Xcode不在管理对EventBus.swift
文件的引用...也许项目根本不知道该文件存在?
如果后者是正确的-我很好奇是否有任何方法可以绕过Xcode的容易发生冲突的参考系统。
答案 0 :(得分:0)
恐怕您是误会的受害者。文件夹引用是指要包含在内置应用程序的应用程序捆绑包中的文件,例如图像或声音文件。它们用于要复制到内置应用程序中但在内置应用程序内的文件夹中的文件。
您不能将文件夹引用与旨在作为应用程序代码一部分的Swift文件一起使用;这些文件需要编译以形成内置应用。
基本上,事实是您不负责项目文件夹中内容的文件夹结构。在现代版本的Xcode中,最接近的方法是使用我称之为文件夹链接的组。这与文件夹引用不同;它是一个组,而不是文件夹引用,但是是一个与项目文件夹中磁盘上实际文件夹相对应的组。正如我在其他地方所解释的:
建立新群组时,可以选择菜单项。例如,在上下文菜单中,您可能会看到“新建组”和“带有文件夹的新建组”。 (令人困惑的是,有时选择的是“ New Group”和“ New Group Without ”文件夹。)另一个创建一个文件夹链接的组。
通过在项目导航器中左下方缺少三角形,并且在文件检查器中具有实际的文件夹名称,可以发现文件夹链接的组:
已经创建了一个文件夹链接的组(在Project Navigator中),如果您随后在该组中创建了一个代码文件(在Project Navigator中),该文件将位于磁盘上的该文件夹中。