찾다

 >  Q&A  >  본문

让iOS App编译的时候自动带git版本号

我希望应用编译的时候,可以把git的版本号自动添加到identifier和bundle name上,这样在开发阶段就可以非常方便的查看到底是哪个版本在进行测试。
我现在的做法是每次手动的把这个版本号加上去,非常痛苦。。有时候忘了加,版本就乱了

大家讲道理大家讲道理2885일 전349

모든 응답(2)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-17 11:19:51

    1,打开点击Project
    2,选择target,进入Build Phases
    3,点击工具栏上Editor,Add Build Phases,选择Add Run Script Build Phases。
    4,target的build Phases会多处一项Run Script
    添加下述代码

    git status
    version=$(git describe --tags)
    echo version: $version
    info_plist=$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Info.plist
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" $info_plist

    在项目中使用下述代码测试

        NSString *version = [[[NSBundle mainBundle] infoDictionary]
                             objectForKey:@"CFBundleVersion"];
        NSLog(@"%@",version);

    参考链接:
    http://feinstruktur.com/blog/2010/12/...

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 11:19:51

    git_version=`git rev-parse --short HEAD`
    app_version=`git describe --tags`
    
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $app_version" $PRODUCT_SETTINGS_PATH
    /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $git_version" $PRODUCT_SETTINGS_PATH

    회신하다
    0
  • 취소회신하다