首页 > 解决方案 > Xcode 10 的编译器看不到文件夹引用中的 Swift 文件中的类

问题描述

我们有一个包含近 1K Swift 文件的项目。如果所有内容都在组内,它就可以很好地工作,但是当尝试将一些文件夹引用添加到包含 Swift 文件的目录时,编译器只是看不到这些文件中定义的任何东西(例如类)。它适用于捆绑和数据文件,但不适用于源代码。

我还尝试使用不同的方法(拖动、使用菜单和手动浏览等)将现有组更改为文件夹,并且 XCode 停止查看在这些 Swift 文件夹文件中声明的实体。当我将同一个文件夹切换回一个组时(删除-> 删除引用-> 将文件添加到项目...),它又可以工作了。

请注意,我打开了文件检查器,并且已经确保检查了参考文件夹的目标。还尝试取消选中它并再次检查,以防万一添加文件时出现另一个 XCode-bug。没有任何效果。

我所做的另一个实验是将文件夹移动到根目录,因此该文件夹不在group中。也没有用。

每次尝试后,我总是清理项目的构建文件夹,以防万一。

请注意,以下问题并未提供任何有用的提示来解决此问题:

当然,另一个对我来说没有意义,因为我想要文件夹,而不是组,因为我发现它们更容易使用,特别是维护,考虑到这个特定项目的大量 Swift 文件:将文件夹添加到Xcode 项目未正确添加

标签: swiftxcodexcode10swift4.2xcode-project

解决方案


它适用于捆绑和数据文件,但不适用于源代码。

是的,嗯,那是因为它们是完全不同的东西,需要以完全不同的方式对待。

您不能将代码放入文件夹引用(蓝色)中。那只是意味着“将此代码文件复制到应用程序的主体中”,这很愚蠢。这就是您对捆绑和数据文件所做的事情。

如果问题是在项目窗口中组织您的代码文件引用,您可以使用:

  • 一组(黄色,下角有红色标记)
  • 或者,一个文件夹链接组(黄色简单明了)

在后一种情况下,代码文件本身也会放在项目窗口内磁盘上的相应文件夹中,所以这也是磁盘上的一种组织方式。

注意但请注意,您必须始终让 Xcode 自己组织项目文件夹的内容!您必须完全在项目窗口的项目检查器中工作。远离 Finder。否则,你会破坏你的项目。


推荐阅读