首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何构建iPhone应用程序的精简版和付费版?

如何构建iPhone应用程序的精简版和付费版?
EN

Stack Overflow用户
提问于 2009-02-14 18:03:25
回答 6查看 15.8K关注 0票数 65

我开始考虑构建一个精简版的iPhone应用程序了。我在网上找到了一些关于这个过程的东西,即:

http://developer.apple.com/tools/XCode/XCodeprojects.html

http://www.pacificspirit.com/blog/2009/01/27/building_for_multiple_iphone_targets_in_xcode

我特别感兴趣的是简化管理哪些文件包含在我的应用程序的不同版本中的过程,因为我不断修改和增强我的付费版本。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-02-14 18:59:59

最初的答案来自应用程序购买的前几天。现在正确的答案是发布一个单独的二进制文件,并通过in app upgrades提供您的付费版本。它的代码稍微多一点,但它是一次发货,你的转化率可能会更高。

然而,如果你仍然想要你的应用程序的版本:

Xcode对多目标有很好的支持。

从项目菜单中选择"New Target...“。添加另一个iPhone可执行文件(Cocoa Touch Application),然后可以根据资源指定目标中包含的项目。这可能包括只将某些代码编译到付费版本中。

您可以通过右键单击"Groups and Files“列表标题(顶部lhs)并启用target Membership,获得当前目标中包含和不包含的内容的快速视觉反馈。

您可以使用相同的方式在构建不同的目标之间切换,就像在为模拟器或iPhone构建之间切换一样。

要在构建时指定特定类的行为,您可以做两件事-包括两个版本的类,每个版本都是为各自的目标构建的,或者,您可以为预处理器设置一个构建时标志。在"Groups and Files“列表中选择目标,然后在该目标上”获取信息“。转到build选项卡并搜索"preprocess“。您应该会看到名为“预处理器宏”的n项将LITE添加到您的精简目标中,并以同样的方式将PAID添加到您的付费目标中。

在你的源文件中,你可以在编译时确定你使用#ifdef LITE编译的版本,等等。

更进一步,您可以基于#ifdef LITE设置全局标志或AppDelegate成员变量,并在运行时更改精简版和付费应用程序的行为。不过,我不确定我从中看到了什么价值。

票数 83
EN

Stack Overflow用户

发布于 2009-02-14 21:30:27

作为一名开发人员,您希望尽可能少地编写代码(错误更少,时间更短)。随着构建版本的不同,您将不得不投入更多的工作和单独的测试。

除非你正在制作一个昂贵的黑客工具,否则你可以考虑保持尽可能简单的区别-只是有一些隐藏的首选项或设置。这样,大多数检查和测试将在两个构建中完成相同的工作,只有很少的代码会有所不同。关键的关注点是不要让自己成为一个开发人员的负担。

拥有不同版本的原因是为了确保免费版本不会被黑进“付费”版本。试图绕过这种简单限制的人主要是那些愿意越狱的人的子集。无论你做什么,你都不会在任何情况下得到他们的钱,除非他们太惊讶了,他们买下它只是为了表示感谢。

票数 24
EN

Stack Overflow用户

发布于 2009-02-18 00:09:27

“花园里”的创作者在这里详细介绍了创建精简版本的不同方法的优缺点:

http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/549462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档