在Xcode中创build两个iOS应用程序

使用Xcode(在iOS上开发)我想创build第二个项目,它与第一个项目相同,但是一些类是不同的。

确切地说,我正在创build一个iPhone应用程序,我想提供一个免费版本和一个高级版本。 实际上,这些项目的代码是相同的,但是会改变一些类。

问题是我不想支持两个项目。 如果我修改一个类,那么我必须修改另一个项目上的相同更改。 这是非常多余的。

此外,该项目被推送到一个远程的GIT仓库。

最后一个注意事项是,iOS应用程序使用与项目关联的ID进行识别。

那么,我需要两个不同的项目?

在Xcode中创build两个iOS应用程序项目的最佳解决scheme是共享这些类,但更改两个三个类?

谢谢

我想提供免费版本和高级版本。

在这种情况下,您不需要在两个项目中创build两个应用程序:您所需要的只是您的高级版本的第二个目标 。 这里是一个链接,介绍如何在Xcode中创build和pipe理多个目标 。

这个过程归结为添加一个目标到项目中,为它定义一个单独的属性plist,可选地为条件编译设置一个预处理器符号,并将该符号用于免费版本中不需要的#ifdef部分。

pipe理免费与付费产品的另一种常见方法是免费提供单一版本,并让用户通过应用程序内购买将其升级为付费版本。

你只需要创build两个目标。 所以你只会修改一个代码库,完美!

本教程将引导您(甚至使用Lite /付费版本,例如)。

  1. 重复付费版本的目标,并命名为免费版本

  2. 在付费目标中定义macros名PaidApp=1 ,然后把这行代码放在applicationDidfinishLaunching开始。

     #ifdef PaidApp [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"adDisabled"]; #endif 
  3. 当免费应用运行目标时,如果某人购买了付费应用function,则将@“adDisabled”的值设置为1(默认值@“adDisabled”将为0)