实际上,我的 iOS 应用程序在同一个项目中包含多个版本,在 Static
类中用 #define
进行了更改。
示例:
#import "AppVersion.h"
//...
if (MYAPP_VERSION == kMyAppVersionFree) {
//Limited features
}
else if (MYAPP_VERSION == kMyAppVersionFull) {
//No limit !
}
每次我要编译时,我都必须编辑我的代码以更改#define
MYAPP_VERSION
,并更改项目名称,以便能够发布MyApp
和“MyApp Free”可执行文件...
是否可以将其定义为“编译变量”?我不想每次编译 2 个版本时都必须编辑我的代码
我如何创建 2 个项目,使用完全相同的源(许多类)但具有不同的应用程序名称和不同的 info.plist
(并且,相对于上一个问题,不同的“编译变量")?
我要一个不同的 info.plist
因为我的“免费版”不支持 iTunes 文件共享,但我的“完整版”支持...
有什么想法吗?您如何管理项目中的版本?
最佳答案
您需要为各种版本定义目标。
单击项目的根目录(蓝色 xcode 图标)。您将在表格中看到您的项目设置。在左侧,您将看到一个“TARGETS”标题,其中有一个 child 是您的项目名称。
您可以右键单击目标并复制它。一旦你有一个副本,你可以重命名它,然后单独配置它的设置。项目设置之一是 GCC 预处理器值。您可以根据目标定义 LITE 或 FULL 变量,然后在代码中使用#ifdefs 进行条件编译。
您可以为不同的目标添加不同的 pList 文件。只需右键单击 pList 文件并包含或排除每个目标的文件。
关于ios - 如何使用具有不同应用程序名称和 info.plist 的相同来源创建两个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5661167/