Xcode 多版本管理

此处说的多版本管理,指多Configurations管理。我们知道,Xcode 默认有 Debug、Release 两种模式,我们就可以打两种版本的包,分别对应开发版,正式版。但是这两个版本不一定满足我们的需求,如我们需要有开发版、内部测试版、外部测试版、公测版、正式版。

第一步:新增Configurations

如图,选中PROJECT,新增Configurations,然后取个名字(如 Beta)。

image.png

第二步:设置宏定义值

如图,选中目标Target,打开 Build Settings,搜索 macro,设置 Beta 的宏定义为:BETA=1


image.png

注意此处的宏定义,设置完后的效果如图,即 :

  • Beta 后对应 BETA=1
  • Debug 后对应 DEBUG=1
  • Release 后对应 PROD=1

第三步:使用

.pch中文件中的使用

#ifdef DEBUG
#define kUpdateXmlUrl @"xxx"
#elif BETA
#define kUpdateXmlUrl @"xxx"
#else
#define kUpdateXmlUrl @"xxx"
#endif

代码中的使用

NSAttributedString *str1 = [[NSAttributedString alloc] initWithString:@"XXXX" attributes:@{NSForegroundColorAttributeName:[NSColor blackColor]}];
#if DEBUG
    NSAttributedString *str2 = [[NSAttributedString alloc] initWithString:@"(开发版)" attributes:@{NSForegroundColorAttributeName:[NSColor colorWithHexString:@"A1A1A1"]}];
#elif BETA
    NSAttributedString *str2 = [[NSAttributedString alloc] initWithString:@"(Beta版)" attributes:@{NSForegroundColorAttributeName:[NSColor colorWithHexString:@"A1A1A1"]}];
#else
    NSAttributedString *str2 = [[NSAttributedString alloc] initWithString:@"(测试版)" attributes:@{NSForegroundColorAttributeName:[NSColor colorWithHexString:@"A1A1A1"]}];
#endif
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] init];
[str appendAttributedString:str1];
[str appendAttributedString:str2];
self.titleBtn.attributedTitle = str;

全篇完

你可能感兴趣的:(Xcode 多版本管理)