我试图从我的项目(Xcode 9)中排除一些.swift和.storyboard文件,以便使用EXCLUDED_SOURCE_FILE_NAMES
进行发布构建。但它对我不起作用。
是否可以给予任何文件夹名称以完全排除该文件夹?如何给予多个文件和文件夹命名?
如果我给予像**../ForlderName/*
**这样的路径,它将不起作用。
文件夹与我的项目处于同一级别。
是否也可以排除子文件夹文件?
如果我的层次结构是
MyProject Folder
|_
MyProject Folder
|_FolderToBeExcluded
如果我给FolderToBeExcluded/* 它是工作的,但文件在FolderToBeExcluded的子文件夹不被排除。
如果我的heirachy是这样的(即文件夹被排除和项目文件夹都在同一级别)
FolderToBeExcluded
MyProject Folder
|_
MyProject Folder
如果我给予**../FolderToBeExcluded/或$(SRCROOT)/../FolderToBeExcluded/**,则两者都不起作用
如果我直接给予任何一个要排除的文件名,它将在不给出完整路径的情况下被排除。
是EXCLUDED_SOURCE_FILE_NAMES
的限制吗?
5条答案
按热度按时间xfb7svmp1#
如果我给FolderToBeExcluded/它是工作的,但文件FolderToBeExcluded的子文件夹不被排除。
不排除子文件夹的原因是/。这告诉它在FolderToBeExcluded中查找文件。如果您只给予FolderToBeExcluded(后面没有斜杠),则会排除该文件夹中的所有文件以及所有子文件夹。至少这是我发现的。
bakd9h0s2#
我今天遇到的一个重要问题是,不能排除文件夹引用中的文件,但可以排除整个引用的文件夹。
当你在Xcode中添加一个文件夹时,它会询问你是要创建一个组还是创建一个文件夹引用。如果选择第二个选项,则需要注意不能排除文件夹中的文件,但可以排除整个文件夹。
m1m5dgzv3#
对我来说,如果我像这样定义
EXCLUDED_SOURCE_FILE_NAMES
的值,它就可以工作:使用Xcode 9.4.1
myss37ts4#
这似乎是唯一的解决办法:
1.对排除目录中的每个子文件夹使用不带文件夹的组
1.在EXCLUDED_SOURCE_FILE_NAMES设置中排除
${PROJECT_DIR}/{Path to Excluded Folder}/*
pwuypxnk5#
我的发现
这么说吧
我尝试了
ToBeExcluded/*
,它可以排除file.json
,但不能排除subfile.json
当尝试
ToBeExcluded/
和ToBeExcluded
时,排除项似乎被忽略,因为这两个文件仍然包含在内ToBeExcluded/**
排除了file.json
,但包含了subfile.json
(这应该是递归的,但嘿)ToBeExcluded/*/*
不包括subfile.json
,但包括file.json
(我猜有道理)Kamen建议使用
$(SRCROOT)
,所以我尝试了$(SRCROOT)/Foo/Bar/ToBeExcluded/*.*
(与$(SRCROOT)/Foo/Bar/ToBeExcluded/*
相同),它与ToBeExcluded/*
相同,所有其他变体都是如此,并且在使用完整路径时与没有完整路径时的行为相同${PROJECT_DIR}
(在我的例子中)翻译成和$(SRCROOT)
一样的东西,所以很遗憾地做了同样的事情我的结论(暂时)
可悲的是,现在我想我要做的只是排除
ToBeExcluded/*
,也许ToBeExcluded/*/*
(会考虑这个),然后只要确保每当添加新文件到它,最好是在根文件夹,如果需要在xcode中分组,而不创建一个文件夹。最坏的情况下,可以添加一级子文件夹