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

时间:2013-04-15 16:08:24

标签: iphone ios xcode projects

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

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

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

此外,该项目被推送到远程GIT存储库。

最后一点,使用与项目相关联的ID来识别iOS应用程序。

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

哪个是在Xcode中共享类的两个iOS App项目的最佳解决方案,但更改了两个类?

由于

3 个答案:

答案 0 :(得分:17)

  

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

在这种情况下,您无需在两个项目中创建两个应用程序:您需要的只是高级版本的第二个目标。这是link that explains how to create and manage multiple targets in Xcode

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

管理免费和高级产品的另一种常见方法是免费提供单个版本,并允许用户通过应用内购买将其升级到高级版。

答案 1 :(得分:6)

您只需要创建两个目标。因此,您只需修改一个代码库,完美!

This tutorial将引导您完成(甚至使用精简/付费版本作为示例)。

答案 2 :(得分:0)

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

  2. 在付费目标中定义宏名称PaidApp=1,然后将此行代码放在applicationDidfinishLaunching的开头。

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

相关问题