gpt4 book ai didi

ios - 为什么我无法访问文件夹(而不是组)中的文件?

转载 作者:行者123 更新时间:2023-11-29 05:45:03 25 4
gpt4 key购买 nike

我正在尝试在项目中使用文件夹而不是组。目标是避免在项目文件中创建组,因为这往往会导致 git 中的合并冲突。

基本上,我希望有一个 Xcode 项目,该项目尊重项目目录上的文件结构(如 Android 项目),而不是使用引用系统。

当我将文件夹拖到项目中时,我:

  1. 禁用“根据需要复制项目”
  2. 添加文件夹:创建文件夹引用
  3. 添加到目标:MyTarget

这将创建一个文件夹层次结构(在项目中;蓝色文件夹图标),正如我所期望的那样。我可以在 Finder 中添加/删除/重命名文件,并在 Xcode 中查看它们的更新。

此外,该文件夹还显示正确的目标成员身份。(我读过,对于文件夹,文件从顶级文件夹获取其目标成员资格信息。即,您不需要为每个文件设置目标。)

不幸的是,当我尝试访问其中一个文件(例如 EventBus.swift)时,我收到错误使用未解析的标识符“EventBus”

这似乎是一个目标问题,但我不确定为什么目标会成为问题。或者 - 也许是因为 Xcode 不管理对 EventBus.swift 文件的引用...也许项目根本不知道该文件存在?

如果后者是真的 - 我很好奇是否有任何方法可以绕过 Xcode 容易发生冲突的引用系统。

最佳答案

恐怕您是误会的受害者。文件夹引用用于要包含在构建应用程序的应用程序包中的文件,例如图像或声音文件。它们用于要复制到构建的应用程序中的文件,但位于构建的应用程序内的文件夹内。

您不能将文件夹引用与打算作为应用代码一部分的 Swift 文件一起使用;需要编译此类文件以形成构建的应用程序。

事实上,您并不负责项目文件夹内内容的文件夹结构。在现代版本的 Xcode 中,您可以获得的最接近的方法是使用我所说的文件夹链接组。这与文件夹引用不同;它是一个组,而不是文件夹引用,但它是一个与项目文件夹中磁盘上的实际文件夹相对应的组。正如我在其他地方解释过的:

When you make a new group, there's a choice of menu items; for example, in the contextual menu, you might see New Group and New Group With Folder. (Confusingly, the choice will sometimes be New Group and New Group Without Folder.) One creates a group plain and simple; the other creates a folder-linked group.

您可以在项目导航器中通过其左下角缺少三角形来发现文件夹链接组,并且它在文件检查器中具有实际的文件夹名称:

enter image description here

创建文件夹链接组(在项目导航器中)后,如果您随后在该组内创建代码文件(在项目导航器中),它将位于磁盘上的该文件夹内。

关于ios - 为什么我无法访问文件夹(而不是组)中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56229053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com