如何在XCode 4(iOS)中使用EXCLUDED_SOURCE_FILE_NAMES

Jor*_*gel 7 simulator ios

我在XCode中找到了几个对构建设置的引用,名为EXCLUDED_SOURCE_FILE_NAMES - 下面的模式暗示了它的工作原理.但我无法弄清楚如何在XCode(4.02)中使用此选项.

"EXCLUDED_SOURCE_FILE_NAMES [sdk = iphoneos*] [arch =*]"= ...

目标是在目标是模拟器时编译一个或多个源文件,并在目标是iOS设备时编译不同的源文件集.

我想我需要告诉xcode每个目标的文件列表.那么,我如何使用此设置实现它?它在XCode中的位置如何?有没有关于如何做到这一点的文件?

我还需要使用静态lib做同样的事情.具体来说 - 我有一个静态库我希望包含在我的项目中,但是lib只支持arm而不是i386,因此,在为模拟器构建时,我需要将此文件排除在链接之外!

可以这样做吗?

Lef*_*ris 9

基本上,EXCLUDED_SOURCE_FILE_NAMES将从该构建配置中删除这些文件

如果要从构建配置中删除静态库,则可以采用此方法.

要实现这一点,只需转到Target的"Build Settings",然后单击"Add Build Setting"按钮并为目标添加EXCLUDED_SOURCE_FILE_NAMES配置.

然后,您可以为每个构建配置指定要排除的文件名...

在您的情况下,既然您提到了不同文件的列表,那么您应该创建2组应用程序包,然后排除EXCLUDED_SOURCE_FILE_NAMES中的包

因此,如果您创建一个名为simulator.bundle的软件包和一个名为release.bundle的软件包,您将排除发布配置中的simulator.bundle文件和模拟器配置中的release.bundle ...

  • 我还要补充一点,EXCLUDED_SOURCE_FILE_NAMES要求用空格分隔几个项目,而不是用逗号分隔.即"pattern1*pattern2"是正确的,而"pattern1*,pattern2*"将不起作用. (7认同)