Xcode 10的编译器看不到的文件夹引用中的Swift文件中的类

时间:2018-09-24 17:08:16

标签: swift xcode xcode10 swift4.2 xcode-project

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

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

请注意,我已打开文件检查器,并且已确保已检查参考文件夹的目标。还尝试取消选中它并再次检查,以防万一添加文件时出现另一个XCode错误。什么都没用。

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

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

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

当然,由于我想要文件夹而不是组,因此这对我来说是没有意义的,因为鉴于该特定项目的大量Swift文件,我发现它们更易于使用,并且特别易于维护: Adding Folder to Xcode Project is not Properly added

1 个答案:

答案 0 :(得分:3)

  

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

是的,那是因为它们是完全不同的事物,需要以完全不同的方式进行处理。

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

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

  • 一组(在底角带有红色标记的黄色)
  • 或一个文件夹链接的组(黄色,简单)

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

注意,但是请注意,您必须始终让Xcode本身来组织项目文件夹的内容!您必须完全在项目窗口的“项目”检查器中工作。远离Finder。否则,您将中断您的项目。