美文网首页很常
Xcode 多版本管理

Xcode 多版本管理

作者: 本帅不良 | 来源:发表于2021-03-24 11:38 被阅读0次

    此处说的多版本管理,指多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 多版本管理

        本文链接:https://www.haomeiwen.com/subject/bmichltx.html