如何基于一个xcode项目构建Lite和完整版iPhone应用程序?

vir*_*sir 13 iphone ios

我不想保留两组代码.我只需要限制Lite版本中的一些功能并在其上添加一些广告.

怎么做?

Jim*_*Jim 25

创建多个目标.

您可以通过右键单击目标并选择"获取信息"来改变构建配置.从那里,你可以做一些事情,比如改变Info.plist它正在查看的文件(做一些事情,比如在名称中添加"Lite"并更改图标/加载图像)并设置编译器标记,以便你可以#ifdef在某些地方.

如果有大量文件仅适用于完整版本,则可以右键单击它们并从Lite目标中删除它们以生成较小的应用程序.

我已经尝试了各种替代方案,例如多种配置,并且我不断回到多个目标.我通常至少有三个定义 - 开发,Ad hoc和App Store,每个都有自己的特定设置.


Wil*_*sch 15

通过复制现有项目,为Xcode项目添加其他目标.在新目标中定义一个宏(在构建设置中的"预处理器宏"下),例如"macroIsFreeVersion"

现在你可以这样做:

#ifdef macroIsFreeVersion
  // code that will only execute in the free version here
#endif
Run Code Online (Sandbox Code Playgroud)

还有这个:

#ifndef macroIsFreeVersion
   // code for only the paid version goes here
#endif
Run Code Online (Sandbox Code Playgroud)

您需要对捆绑包ID,配置文件等进行其他更改.您将付费版本放入商店所做的所有操作.