自增build ID配置

作者: winlee | 来源:发表于2016-12-12 11:27 被阅读99次

    Xcode开发中,VersionBuild可能总是让大家迷惑。
    其实Version平时大家叫做发布版本号,Build叫做编译版本号。
    1 . 发布appAppStore时候:

    Build Version相同
    Build不相同 提交构建版本成功
    Build相同 提交构建版本失败

    2 . 列表:

    名称 解释
    Version 发布版本号
    Build 编译版本号

    Build在plist文件中的key是“CFBundleVersion”,标示(发布或者未发布)的内部版本号.通常我们用这个小版本号可以表示每一个不同的版本号,即使我们发布到AppStore上的版本有bug,但同时我们又不愿意修改大版本号(Version)我们可以通过Build来区分不同的版本号

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 
    Build版本获取 
    NSString *build = [infoDictionary objectForKey:@"CFBundleVersion"];
    

    编写脚本使Archive后自动增加build版本号

    如果我们想在Archive后build号自动增长,就可以使用到Xcode的run script来实现,
    步骤是:
    1 .选中项目的TARGETS


    005PWljKty6WYoBcP48bc&690.jpeg

    2 .点击“Build Phases“


    005PWljKty6WYoDR2yj1f&690.jpeg

    3 .点击左上角的➕


    005PWljKty6WYoGWPgGa6&690.jpeg

    4 .选择”New run script Phase“


    005PWljKty6WYoJK0BI82&690.jpeg

    5 .会产生一个新的Run Script项,你会看到有一个Shell的黑框框,


    005PWljKty6WYoN2twD5b&690.jpeg

    6 .将代码copy到里面就可以了


    005PWljKty6WYoPC0Qnaf&690.jpeg

    这段shell脚本的意思就是说,如果当前的配置是Debug(Archive时该值为Release,直接在模拟器上运行是Debug),就设置build值为当前build值+1.(这里为了测试就用Debug)
    在开发中一搬都是Release,直接把Debug 改为Release,这样每次打包发布的时候就会自增1.
    代码如下

    if [ $CONFIGURATION == Release ]; then
    echo "Bumping build number..."
    plist=${PROJECT_DIR}/${INFOPLIST_FILE}
    
    #increment the build number (ie 115 to 116)
    buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
    if [[ "${buildnum}" == "" ]]; then
    echo "No build number in $plist"
    exit 2
    fi
    
    buildnum=$(expr $buildnum + 1)
    /usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
    echo "Bumped build number to $buildnum"
    
    else
    echo $CONFIGURATION " build - Not bumping build number."
     
    fi
    

    7 .接下来编译一下就可以自增了


    005PWljKty6WYoTyZIq16&690.jpeg

    想看build时输出的信息,可以通过”View -> Navigators -> Log”来查看最新的build时产生的log。

    相关文章

      网友评论

        本文标题:自增build ID配置

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