原始答案来自应用购买前几天。现在正确的答案是发布一个二进制文件并通过应用程序升级提供您的付费版本。它的代码略多一些,但它是单次发货,您的转换率可能会更好。
但是,如果您仍然想要应用程序的版本:
Xcode 对多个目标有很好的支持。
从项目菜单中选择“新目标...”。添加另一个 iPhone 可执行文件(Cocoa Touch 应用程序),然后您可以按资源指定目标中包含哪些项目。这可以包括仅将某些代码编译到您的付费版本中。
您可以通过右键单击“组和文件”列表标题(顶部 lhs)并启用目标成员资格来获得有关当前目标中包含和不包含的内容的快速视觉反馈。
您在构建不同目标之间切换的方式与在为模拟器或 iPhone 构建之间切换的方式相同。
要在构建时指定特定类的行为,您可以做两件事 - 包括为各自目标构建的类的两个版本,或者您可以为预处理器设置构建时间标志。在“组和文件”列表中选择目标,然后在该目标上“获取信息”。转到构建选项卡并搜索“预处理”。您应该会看到一个名为“预处理器宏”的项目添加LITE
到您的轻量级目标中,并以同样的方式添加PAID
到您的付费目标中。
在您的源文件中,您可以在编译时确定您正在编译使用哪个版本#ifdef LITE
等。
更进一步,您可以基于 #ifdef LITE 设置全局标志或 AppDelegate 成员变量,并在运行时更改 Lite 和付费应用程序的行为。不过,我不确定我是否看到了其中的价值。