iOS的多个版本的应用程序

问题描述:

实际上,我的iOS应用程序在同一个项目中包含多个版本,在静态类中使用#define更改。iOS的多个版本的应用程序

例:

#import "AppVersion.h" 

//... 

if (MYAPP_VERSION == kMyAppVersionFree) { 
    //Limited features 
} 
else if (MYAPP_VERSION == kMyAppVersionFull) { 
    //No limit ! 
} 

每次我想要编译,我不得不修改我的代码更改的#define MYAPP_VERSION,并更改项目名称,才能够释放出“MyApp的”和“MyApp的*”的可执行文件...

问:

是否有可能将其定义为一个“编辑变量”? 我不想编辑我的代码,每次我想要编译2个版本

如何创建2个项目,使用完全相同的源代码(许多类),但使用不同的应用程序名称和不同的信息.plist(和相对于上一个问题,不同的“编译变量”)?

我要求不同的info.plist,因为我的“免费版,”不支持iTunes的文件共享,但我的“完整版”呢?

我不知道如果我解释这个问题很好......(对不起我的英文......)

有什么想法吗?你如何管理项目中的版本?

在此先感谢

您需要为各种版本定义目标。

单击项目的根目录(蓝色xcode图标)。你会在一个表格中看到你的项目设置。在左边你会看到一个“TARGETS”标题,带有一个孩子,你的项目名称。

您可以右键单击目标并复制它。一旦你有一个重复的,你可以重命名它,然后分别配置它的设置。其中一个项目设置是GCC预处理器值。您可以根据您的目标定义LITE或FULL变量,然后在代码中使用#ifdefs进行条件编译。

您可以为不同的目标添加不同的pList文件。只需右键单击pList文件并包含或排除每个目标文件。

+0

完美,这是如此简单......谢谢! – ingham 2011-04-14 12:50:42

+0

@ingham没问题:) – RedBlueThing 2011-04-14 21:55:01

+1

Xcode 4的外观如何?你如何让Xcode通过构建特定的目标来构建或存档应用程序? – dontWatchMyProfile 2011-12-10 12:47:34