繁体   English   中英

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

[英]Disabling some files in Xcode project from compilation

我通过复制现有文件夹在Xcode中开始了一个新项目,因为我的新应用程序将与旧版本具有许多共同功能。

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

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

我可以从项目树中删除它们,然后在我的工作完成后逐个添加它们,但我不想这样做,因为我的项目树可能搞砸了,应该有另一种方法来实现这一点。

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

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

在我的情况下,我选择了我想省略一些文件的目标,编辑器 - >添加构建设置 - >添加用户定义的设置(起初这是灰色的。我选择了项目文件(就在TARGETS之上)然后重新选择了目标文件并且能够创建用户定义的设置 - >将其命名为EXCLUDED_SOURCE_FILE_NAMES - >值类似于PREFIX *

当然,您可以为所有目标创建整个项目的用户定义设置。

示例如何: 在此输入图像描述

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

在Xcode 9中,我不确定旧版本,请访问:

构建设置 - >构建选项 - >排除的源文件名

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

Bellow是我如何排除所有以dev-开头并以.cc结尾的文件的示例,除了为Simulator构建的Debug方案之外的所有方案。 所有Debug Simulator构建排除以release-开头并以.cc结尾的文件

在此输入图像描述

希望这可以帮助!!

UPDATE

我在框架方面遇到了类似的问题,您也可以将框架排除在嵌入到您的应用程序之外!

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

如果您有许多框架,这也有助于减少应用程序的大小。

看看这里的答案

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM