2011-03-07 47 views
10

我添加png格式图片为喜欢做一个视图 的截图但是有条件使用Xcode项目,因为这不需要对应用程序的发布版本,我想找到一种方法来排除他们用某种Target的设置。我希望可以有一种解决方案,如使用#if DEBUG宏进行调试编译,这可以用于源代码行。但是,如果项目包中包含文件,我无法找到答案。如何排除Xcode项目包中的图像文件,有条件地用于发布版本?

+3

从生产版本中排除文件我使用此博客文章中描述的EXCLUDED_SOURCE_FILE_NAMES生成设置:http://twobitlabs.com/2012/01/excluding-files-from-production-xcode-builds/ – ToddH 2012-01-20 23:37:03

+0

谢谢您的正确答案。这个基于构建设置的解决方案是我正在寻找的,而不是基于目标的解决方案。 – petershine 2012-01-23 07:58:37

回答

16

在Xcode中3,有在列出项目中的文件编辑器上方的视图。每个文件在该视图的右侧有一个复选框,您可以取消选中该框以从当前目标中删除该文件。

在Xcode中4,显示在窗口左侧的Project Navigator中,并显示在文件检查器右侧,在公用事业领域。当您选择一个文件时,您会看到一个包含目标和复选框列表的目标成员区域。如果您想从特定目标中排除该文件,请取消选中该目标旁边的框。这里有一个画面:

enter image description here

这是从排除文件不同的一点只有一些建立一个单一的目标。不过,我认为这是最简单的机制,用于描述你所描述的情况。只需复制您的现有目标,以便您拥有可用于制作屏幕截图的副本。如上所述,从生产目标中删除额外的文件,但将它们留在截图目标中。

+0

谢谢你这个有用的答案。我很高兴我的赏金点没有被浪费。你介意让我在Twitter或GitHub中关注你吗? – petershine 2011-04-07 02:21:24

+0

你要问的一点,我绝对不会介意,但我不鸣叫。这是我不需要的一个分心。 ;-)尽管如此,我很高兴能够提供帮助。 – Caleb 2011-04-07 02:57:10

+1

这个答案对我来说是一颗珍珠,但从相反的角度来看。我正在寻找如何找到文件是否包含在目标中。谢谢@Caleb – sdjuan 2012-08-16 18:33:24

3

一个目标的输入是所有构建相同的,所以没有复选框,将你做它。

所有这一切真的发生,虽然是图像文件,如png格式或任何被添加到复制捆绑资源的阶段。您可以从该阶段删除它们,而是使用shell脚本创建自定义脚本构建阶段。

将默认为打印出所有的Xcode设置环境变量,从那里,你应该能够编写一个脚本,只有当说$ {} BUILD_STYLE是“调试”执行复制。

你可能想$ {} BUILD_STYLE $ {CONTENTS_FOLDER_PATH}和$ {} INPUT_FILE_PATH对于初学者。

相关问题