2010年8月20日 星期五

在 Project 中加入 SVN version 和 Build Count

為方便加入版本資訊,可使用以下 script,在 Project 的 target 中,right click,New Build Phase,New Run Script Build Phase,之後輸入以下 script,Shell 用 /bin/bash 。
之後可以 #import "SVNRevision.h" 取得 SVN_REVISION 數值。
parse_svnversion()
{
    if [[ "$1" = *:* ]]; then
        arr[0]=${1%:*}
        arr[2]=${1//[0-9:]/}
        tmp_arr[1]=${1#*:}
        arr[1]=${tmp_arr[1]//${arr[2]}/}
    else
        arr[2]=${1//[0-9:]/}
        arr[0]=${1//${arr[2]}/}
        arr[1]=${arr[0]}
    fi

    echo $( (( ${arr[0]} > ${arr[1]} )) && echo ${arr[0]} || echo ${arr[1]} )
}

SVN_REV=$(parse_svnversion `svnversion -n`)
echo "#define SVN_REVISION @\"$SVN_REV\"" > "${PROJECT_DIR}/Classes/SVNRevision.h"
exit 0
parse_svnversion 出自 SiegeX 大大,原文在 StackOverflow 上。