在 XCode 中为多个目标编译时,我如何确保某些文件不会包含在一个目标中 [英] When compiling for multiple targets in XCode, how do i ensure that certain files will not be included one target

查看:27
本文介绍了在 XCode 中为多个目标编译时,我如何确保某些文件不会包含在一个目标中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用我能想到的每个关键字在 stackoverflow 上搜索了很长时间来解决这个问题.我正在为 iphone 编程,我的应用程序有一个精简版和付费版本.我按照这里的说明 Creating Lite用于复制目标的 iPhone 游戏/应用程序版本.这行得通,现在我正在努力精简精简版.

I searched for a long time on stackoverflow using every keyword I could think of to solve this. I am programming for iphone and I have a lite and paid version of my app. I followed the instructions here Creating Lite Versions of iPhone Games / Apps for duplicating the target. This works and now I am working on slimming down the lite version.

主要问题?图片.精简版需要比付费版少几百张图片.所以,我在 XCode 中做了 2 个组.Xcode 中的一个文件夹组" - 名为FreeImages",另一个名为ProImages".我希望所有素材 only 都包含在 lite 应用程序中,所有素材 ProImage 都包含在付费应用程序中.我不在乎 XCode 将这些组视为虚拟文件夹.我将指令颠倒过来,并在 XCode "PLUS_VERSION" 中设置了环境标志 (-D) 我希望 XCode 基本上执行以下操作:

Main problem? Images. The lite version needs to have several hundred less images than the paid version. So, I made 2 groups in XCode. One "Folder Group" in Xcode - named "FreeImages" and another "ProImages". I want all FreeImages only to be included in the lite app and all FreeImages and ProImages to be in the paid app. I do not care that XCode considers these Groups to be Virtual Folders. I reversed the instructions to a point and have an environment flag (-D) set in XCode "PLUS_VERSION" I want XCode to basically do the following:

If (PLUS_VERSION)
{
 copy contents of FreeImages *and* ProImages where normally they go
}
else
{
copy contents of FreeImages where they normally go.
}

有人知道从哪里开始告诉 XCode 有条件地将组的内容复制到目标中吗?

Anyone know where to start to tell XCode to conditionally copy contents of groups into the target?

推荐答案

对于您想要定向到特定目标的每个资源(或资源文件夹),您可以单击该资源并检查它(通过右键单击并选择获取信息或单击检查工具栏选项).在该信息对话框中将有一个名为 Targets 的选项卡,您可以在其中选中要合并资源(甚至源代码文件)的目标,并取消选中您不希望的目标.

For each resource (or folder of resources) you want to direct to a specific target, you can click on the resource and inspect it (either via right-clicking and selecting Get Info or by clicking on the Inspect toolbar option). Within that info dialog will be a tab called Targets, where you can check the targets you want the resource (or even source code file) to be incorporated into, and uncheck the ones you don't.

另外,我相信您可以在 Xcode 中导航到目标本身,单击其名称旁边的三角形以展开构建阶段列表,展开 Copy Bundle Resources 构建阶段,然后从列表中手动删除任何资源您不希望复制到该目标中.

Alternatively, I believe you can navigate to the target itself in Xcode, click on the triangle next to its name to expand the list of build phases, expand the Copy Bundle Resources build phase, and manually delete from the list there any resources you don't wish to have copied over into that target.

这篇关于在 XCode 中为多个目标编译时,我如何确保某些文件不会包含在一个目标中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆