[英]How to build a free version from a paid version without duplicating the Xcode 4 project?
我听说有传言说可以通过使用目标和条件编译指令来构建应用程序的不同变体,而无需复制Xcode项目
IF !FREE_VERSION
[self loadGreatFeature];
ELSE
[self loadBoringFeature];
所以:
如何设置Xcode 4以区分构建/存档项目的免费或付费版本?
如何告诉Xcode 4在付费版本中包含一组图像和其他资源,而不是在免费版本中(反之亦然)?
如何告诉Xcode 4构建免费的OR付费版本? (不想一直构建它们,因为这会降低开发速度)
这种方法的注意事项是什么?
我知道重复Xcode项目有什么警告:一旦我修复了任何一个版本的bug,我必须在另一个版本中做同样的事情。 同样需要进行改进和修改。
在Xcode中打开项目,然后在Project Navigator中选择顶级项目 。 您应该看到项目的目标列表。
为应用的免费版本创建新目标。 一种简单的方法是按住Control键并单击与您想要的类似的当前目标并复制它。
选择新目标。 在“ 构建阶段”选项卡中,您可以控制将哪些源文件构建为此目标的一部分以及为其复制哪些资源。 在“ 构建设置”选项卡中,搜索预处理器宏,并为所有构建配置添加新的宏 ,例如MYAPPLITE = 1。 然后,您可以在代码中使用以下内容进行条件编译:
#ifdef MYAPPLITE
[self loadBoringFeature];
#else
[self loadGreatFeature];
#endif
最后,从“产品”菜单中选择“ 编辑方案... ”。 应该已经为您的新目标创建了一个新方案。 如果需要,可以在“ 管理方案”表中重命名。 您可以在此处控制构建,运行,存档等新目标的特定设置。
要在构建免费版本或付费版本之间切换,只需更改活动方案即可。
唯一真正需要注意的是,您需要保持新目标的设置是最新的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.