从编译中禁用XCode项目中的某些文件

我已经通过复制一个现有的文件夹在XCode中开始一个新的项目,因为我的新应用程序将与旧的应用程序有很多共同的function。

问题是,新的应用程序将不会使用我在旧的应用程序中使用的框架。 当我删除框架,当然包括该框架的所有文件都会产生错误。

基本上我想禁用所有语法检查,依赖性检查等在许多文件。 我希望XCode忽略这些文件,尽pipe它们在项目树中。 稍后当我修改它们时,我将再次手动启用它们。 通过这种方式,我可以编译和testing我的小错误修改,而不修复它在“未修改”文件中导致的所有错误,我将在未来修复这些错误。

我可以将它们从项目树中删除,然后在作业完成后将它们逐个添加,但是我不想这样做,因为我的项目树可能会搞砸,实际上应该有另一种方法来完成此任务。

我尝试从所有目标成员中删除这些文件,但没有帮助。

提前致谢。

如果您需要删除大量文件,则可以创build应该称为EXCLUDED_SOURCE_FILE_NAMES的用户定义的构build设置。 并添加文件名称或模式。

在我的情况下,我select了目标,我想省略一些文件,编辑器 – >添加生成设置 – >添加用户定义的设置(首先这是灰色的,我select了项目文件(刚好在目标上),然后重新select目标文件并能够创build用户定义的设置) – >将其命名为EXCLUDED_SOURCE_FILE_NAMES – >值类似于PREFIX *

当然,您可以创build用户定义的整个项目的方式,所有目标都会有。

示例如何显示: 在这里输入图像说明

原始答案: http : //lists.apple.com/archives/xcode-users/2009/Jun/msg00153.html

看看这里的答案

Xcode:是否有一个位置/标志来防止类编译?

简而言之,从项目目标中删除文件。

作为肮脏的黑客,你可以尝试排除不是文件,但它的代码通过使用#ifdef NotCompile + #endif因为它是在C \ C ++中完成的,通过添加\去除#define NotCompile in YOURPROJECT-prefix.pch

在Xcode 9中,我不确定旧版本,请转到:

生成设置 – >生成选项 – >排除的源文件名称

添加您想要排除的所有文件名。 你甚至可以做通配符匹配。

贝娄是一个例子,我已经排除了以dev-开头的所有文件,并且除了为Simulator构build的Debugscheme之外的所有scheme以.cc结尾。 所有debugging模拟器构build从发行版开始并以.cc结尾的排除文件

在这里输入图像说明

希望这可以帮助!!

UPDATE

我有一个与框架类似的问题,你可以排除框架embedded到你的应用程序也!

我的问题是,我有2个框架,一个是为模拟器而build,另一个是为ARM构build的。 iTunes Connect抱怨我包括模拟器一个与应用程序。

如果你有很多的框架,这也有助于减less应用程序的大小。