此处说的多版本管理,指多Configurations管理。我们知道,Xcode 默认有 Debug、Release 两种模式,我们就可以打两种版本的包,分别对应开发版,正式版。但是这两个版本不一定满足我们的需求,如我们需要有开发版、内部测试版、外部测试版、公测版、正式版。
第一步:新增Configurations
如图,选中PROJECT
,新增Configurations
,然后取个名字(如 Beta)。
第二步:设置宏定义值
如图,选中目标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;
网友评论