Ios 增加'#定义xxx';应用程序发布后响应用户操作

Ios 增加'#定义xxx';应用程序发布后响应用户操作,ios,in-app-purchase,preprocessor,Ios,In App Purchase,Preprocessor,我在Apple app store上有一个付费应用,我正在尝试制作一个功能受限的免费应用,使其与我的付费应用不同。我在构建设置中使用了“预处理器宏”来区分这两个LITE=1键的应用程序。在这之前,一切都很好。可使用“#ifdef LITE”分隔受限制的功能 我的问题是,当用户在应用程序内购买付费版本功能时。当用户在应用程序购买中购买时,如果我可以在应用程序中添加“#定义LITE”,这很容易。我怎样才能得到这个呢?这行不通。预处理器宏是预处理的:代码删除、文本替换、ifdef等都是在编译器看到代码

我在Apple app store上有一个付费应用,我正在尝试制作一个功能受限的免费应用,使其与我的付费应用不同。我在构建设置中使用了“预处理器宏”来区分这两个LITE=1键的应用程序。在这之前,一切都很好。可使用“#ifdef LITE”分隔受限制的功能


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

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

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


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

谢谢。如果稍后将其解锁,那么将#ifdef用于受限功能是不好的行为,不是吗?哇,-1。因为有这么多基本的问题?没有愚蠢的问题,但请努力学习一些软件开发的基本知识。在您的例子中,编译时和运行时之间的差异。