Xcode - 构建设置“EXCLUDED_SOURCE_FILE_NAMES”无法正常工作

时间:2018-03-16 18:17:01

标签: swift xcode build-settings

我正在尝试使用EXCLUDED_SOURCE_FILE_NAMES从我的项目(Xcode9)中排除一些.swift和.storyboard文件以进行发布构建。 但它不适合我。

是否可以提供任何文件夹名称以完全排除它? 如何提供多个文件和文件夹名称?

如果我提供 ../ForlderName/* 之类的路径,则无效。

文件夹与我的项目处于同一级别。

是否也可以排除子文件夹文件?

如果我的层次结构是

,我可以排除
MyProject Folder
 |_
   MyProject Folder 
    |_FolderToBeExcluded

如果我给了FolderToBeExcluded / *它正在工作但是FolderToBeExcluded的子文件夹中的文件没有被排除。

如果我的heirachy是这样的(即要排除的文件夹和同一级别的项目文件夹)

FolderToBeExcluded
MyProject Folder
 |_
   MyProject Folder

如果我提供 ../ FolderToBeExcluded / 或$(SRCROOT) /../ FolderToBeExcluded / 两者都不起作用

如果我直接提供要排除的任何一个文件名,则会在不提供完整路径的情况下进行排除。

EXCLUDED_SOURCE_FILE_NAMES的限制吗?

4 个答案:

答案 0 :(得分:0)

对我来说,如果我像这样定义EXCLUDED_SOURCE_FILE_NAMES的值,它就会起作用:

$(SRCROOT)/../FolderToBeExcluded/*.*

我正在使用Xcode 9.4.1

答案 1 :(得分:0)

  

如果我给了 FolderToBeExcluded / * ,它可以工作,但是FolderToBeExcluded的子文件夹中的文件没有被排除。

未排除子文件夹的原因是由于 / * 。这告诉它在FolderToBeExcluded中查找文件。如果仅给出 FolderToBeExcluded (后没有斜杠),则它将排除该文件夹中的所有文件以及所有子文件夹。至少是我发现的。

答案 2 :(得分:0)

我今天遇到的一个重要问题是,您不能排除文件夹引用中的文件,但可以排除整个引用文件夹。

当您向 Xcode 添加文件夹时,它会询问您是要创建组还是创建文件夹引用。如果选择第二个选项,则需要注意不能排除文件夹中的文件,但可以排除整个文件夹。

答案 3 :(得分:0)

这似乎是唯一的解决方案:

  1. 对排除目录中的每个子文件夹使用没有文件夹的组
  2. 在 EXCLUDED_SOURCE_FILE_NAMES 设置中排除 ${PROJECT_DIR}/{Path to Excluded Folder}/*