我不想维护两组代码。我只需要限制Lite版本中的一些功能,并在其上添加一些广告。
怎么做?
答案 0 :(得分:25)
创建多个目标。
您可以通过右键单击目标并选择“获取信息”来改变构建配置。从那里,你可以做一些事情,比如改变它正在查看的Info.plist
文件(做一些事情,比如在名称中添加“Lite”并更改图标/加载图像)并设置编译器标志,这样你就可以{{1在地方。
如果有很多文件仅适用于完整版,那么您可以右键单击它们并从Lite目标中删除它们以制作更小的应用程序。
我已经尝试了各种替代方案,例如多种配置,并且我不断回到多个目标。我通常至少有三个定义 - 开发,Ad hoc和App Store,每个都有自己的特定设置。
答案 1 :(得分:15)
通过复制现有目标,为Xcode项目添加其他目标。在新目标中定义一个宏(在构建设置中的“预处理器宏”下),例如“macroIsFreeVersion”
现在你可以这样做:
#ifdef macroIsFreeVersion
// code that will only execute in the free version here
#endif
和此:
#ifndef macroIsFreeVersion
// code for only the paid version goes here
#endif
您需要对捆绑包ID,配置文件等进行其他更改。您将付费版本放入商店所做的所有操作。