我听说有传言说,通过使用目标和条件编译指令,可以在不复制 Xcode 项目的情况下构建应用程序的不同变体,例如
IF !FREE_VERSION
[self loadGreatFeature];
ELSE
[self loadBoringFeature];
So:
如何设置 Xcode 4 以便能够区分构建/归档项目的免费版本或付费版本?
如何告诉 Xcode 4 在付费版本中包含一组特定的图像和其他资源,但在免费版本中不包含(反之亦然)?
如何告诉 Xcode 4 构建免费或付费版本? (不想一直构建它们,因为这会减慢开发速度)
这种方法有哪些注意事项?
我确实知道复制 Xcode 项目的注意事项是什么:一旦修复了任一版本中的错误,我必须在另一个版本中执行相同的操作。进行改进和修改也是如此。
在 Xcode 中打开您的项目并选择项目导航器。您应该会看到项目的目标列表。
为您的应用程序的免费版本创建一个新目标。执行此操作的一个简单方法是按住 Control 键并单击与您想要的目标相似的当前目标并复制它。
选择您的新目标。在里面构建阶段选项卡中,您可以控制哪些源文件将构建为该目标的一部分以及为其复制哪些资源。在里面构建设置选项卡搜索预处理器宏并为所有构建配置添加一个新配置,例如 MYAPPLITE=1。然后,您可以在代码中执行条件编译,如下所示:
#ifdef MYAPPLITE
[self loadBoringFeature];
#else
[self loadGreatFeature];
#endif
最后,选择编辑方案...从产品菜单。应该已经为您的新目标创建了一个新方案。您可以在其中重命名它管理方案如果你愿意的话。您可以在此处控制新目标的构建、运行、归档等特定设置。
要在构建免费版本或付费版本之间切换,您只需更改活动方案即可。
唯一真正需要注意的是,您需要使新目标的设置保持最新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)