0

我在 Apple 应用商店有一个付费应用,我正在尝试制作一个功能受限的免费应用,以使其与我的付费应用不同。我在构建设置中使用了“预处理器宏”来区分这两个带有 LITE=1 键的应用程序。到此为止,一切都还好。可以使用“#ifdef LITE”分隔受限功能

我的问题是当用户购买应用内购买以获得付费版本功能时。如果我可以在用户购买应用程序购买时在应用程序中添加“#define LITE”,这很容易。我怎样才能得到这个?

4

1 回答 1

2

这行不通。预处理器宏是预处理:代码删除、文本替换、#ifdefs 等都在编译器看到代码之前完成。

如果您通过将代码包含在#ifdef 块中来删除代码,那么它就消失了。它只是不存在。

你将不得不使用不同的方法。您可以在某处添加一个变量,或者在属性列表文件中添加一个键。然后,您可以使用普通的 if() 检查来检查是否应该启用某个功能。应用内购买完成后,您只需拨动开关即可。

于 2013-08-04T06:26:13.450 回答