iOS - 帮助我了解多个目标和应用内升级/购买
Posted
技术标签:
【中文标题】iOS - 帮助我了解多个目标和应用内升级/购买【英文标题】:iOS - Help me understand multiple targets and in-app upgrades/purchases 【发布时间】:2012-07-27 17:29:26 【问题描述】:好吧,伙计们,请放轻松。多年来,我一直在玩这个板,并得到了很多帮助,我什至无法开始思考没有它我会在哪里。所以感谢多年来的帮助!
我有一个典型的场景: 免费应用程序和付费应用程序。一年前我发布了我的免费版本,最近才发布了我的付费版本。我的目标是更新我的免费版本,使其能够升级到我的付费版本。经过研究,似乎我最好的选择是构建 2 个目标,然后使用 #ifdef 打开和关闭我想要限制的某些功能。
所以我继续复制我的付费目标,进行所有需要的 plist 更改并输入这样的代码...
#ifdef LITE_VERSION
NSLog(@"Lite Version");
[self loadAds];
#endif
这很好用,我现在有一个带有广告的 Lite 目标和一个没有广告的付费目标。 (当然还有其他一些功能)
但现在我有点困惑从这里去哪里。 我是否使用 StoreKit 将升级按钮链接到我的付费版本?如果有,怎么做? 还是有更好的方法来实现这一点?
我知道有人提出并回答了类似的问题,但它们似乎都涵盖了编程部分,但没有涵盖除此之外的内容。
谢谢 梅林
【问题讨论】:
【参考方案1】:#define
在编译时工作,因此如果您想要一个代码库来创建应用程序的单独版本 - 例如带有广告或功能有限的“免费”版本,以及完整的“付费”版本,它会很有用.
添加方法如下:
在您的项目中创建一个额外的目标(这将是“免费”版本) 在免费应用程序的编译选项中,在Other C Flags下,添加-DFREE_VERSION
与您最初的问题一样,使用定义来控制免费/付费版本中的内容。
#ifdef FREE_VERSION
[self showAds];
#endif
注意:要使用户能够在运行时购买/解锁功能(例如使用 StoreKit),您不能使用 #define
技术。
【讨论】:
以上是关于iOS - 帮助我了解多个目标和应用内升级/购买的主要内容,如果未能解决你的问题,请参考以下文章