#!/bin/bash
#
#
# 介绍:
# 这个脚本全部自动化打包文件,并且根据SVN版本号,以及编译环境命名测试包。
#
# 使用:
# 首先cd 到xcode工程目录 然后运行 "sh ./dailyBuild.sh" PS:xcode不能含有xcodebuild的Runscript切记!
#
#
#
# 工程名
PRODUCT_NAME="UC_Iphone"
# 获取最新的SVN版本号
SVN_VERSION=`svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//'`
#测试版本类型
TEST_VERSION="Alpha"
# 时间
CURTIME=`date +%Y%m%d`
#获取当前目录
XCODEPROJECT_PATH=$(pwd)
#签名证书
CODE_SIGN_NAME="iPhone Developer:****"
#编译选项 一般有DEBUG_RELEASE 这里我使用自己的签名选项,替换即可
BUILD_TARGET="DaliyBuild"
#发布对象
BUILD_INTERFACE="ADHoc"
# 编译
xcodebuild -configuration "${BUILD_TARGET}" -target "${PRODUCT_NAME}" CODE_SIGN_IDENTITY="${CODE_SIGN_NAME}" clean build
# 编译地址
APP_PATH="${XCODEPROJECT_PATH}/build/${BUILD_TARGET}-iphoneos/${PRODUCT_NAME}.app"
IPA_PATH="${XCODEPROJECT_PATH}/IPA_DAILY/${PRODUCT_NAME}_${TEST_VERSION}_${BUILD_INTERFACE}_S${SVN_VERSION}_${CURTIME}.ipa"
if [ ! -d "${IPA_PATH}" ]; then
mkdir -p "${IPA_PATH}"
fi
# 输出ipa文件
xcrun -sdk iphoneos PackageApplication -v ${APP_PATH} -o ${IPA_PATH} --sign "${CODE_SIGN_NAME}"
open "${XCODEPROJECT_PATH}/IPA_DAILY/"
说明:
1. 拷贝sh到xcode工程目录下。
2. 修改参数 项目名称等。
3. 运行脚本
4. 输入出的文件命名按照 项目名_软件阶段_发布对象_svn版本号_发布时间.ipa ex: Iphone_Alpha_ADHoc_S5486_20140415.ipa
# 以下为测试
# # 获取XML版本的svn信息,这样可以避免不同语言的问题
# __xml=`svn info --xml --incremental`
# # 我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。
# __revision=`echo "$__xml"|sed '/revision/!d'|sed '$d'`
# # 提取出版本号的数字部分
# echo $__revision|sed 's/revision="\([0-9]\+\)">\?/\1/'
#
# # 基准版本号默认是1,可以通过传递一个参数修改
# get_version()
# {
# local __base=${1:-1}
# echo $((`git rev-list --all|wc -l` + $__base))
# }
#
#
# 介绍:
# 这个脚本全部自动化打包文件,并且根据SVN版本号,以及编译环境命名测试包。
#
# 使用:
# 首先cd 到xcode工程目录 然后运行 "sh ./dailyBuild.sh" PS:xcode不能含有xcodebuild的Runscript切记!
#
#
#
# 工程名
PRODUCT_NAME="UC_Iphone"
# 获取最新的SVN版本号
SVN_VERSION=`svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//'`
#测试版本类型
TEST_VERSION="Alpha"
# 时间
CURTIME=`date +%Y%m%d`
#获取当前目录
XCODEPROJECT_PATH=$(pwd)
#签名证书
CODE_SIGN_NAME="iPhone Developer:****"
#编译选项 一般有DEBUG_RELEASE 这里我使用自己的签名选项,替换即可
BUILD_TARGET="DaliyBuild"
#发布对象
BUILD_INTERFACE="ADHoc"
# 编译
xcodebuild -configuration "${BUILD_TARGET}" -target "${PRODUCT_NAME}" CODE_SIGN_IDENTITY="${CODE_SIGN_NAME}" clean build
# 编译地址
APP_PATH="${XCODEPROJECT_PATH}/build/${BUILD_TARGET}-iphoneos/${PRODUCT_NAME}.app"
IPA_PATH="${XCODEPROJECT_PATH}/IPA_DAILY/${PRODUCT_NAME}_${TEST_VERSION}_${BUILD_INTERFACE}_S${SVN_VERSION}_${CURTIME}.ipa"
if [ ! -d "${IPA_PATH}" ]; then
mkdir -p "${IPA_PATH}"
fi
# 输出ipa文件
xcrun -sdk iphoneos PackageApplication -v ${APP_PATH} -o ${IPA_PATH} --sign "${CODE_SIGN_NAME}"
open "${XCODEPROJECT_PATH}/IPA_DAILY/"
说明:
1. 拷贝sh到xcode工程目录下。
2. 修改参数 项目名称等。
3. 运行脚本
4. 输入出的文件命名按照 项目名_软件阶段_发布对象_svn版本号_发布时间.ipa ex: Iphone_Alpha_ADHoc_S5486_20140415.ipa
# 以下为测试
# # 获取XML版本的svn信息,这样可以避免不同语言的问题
# __xml=`svn info --xml --incremental`
# # 我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。
# __revision=`echo "$__xml"|sed '/revision/!d'|sed '$d'`
# # 提取出版本号的数字部分
# echo $__revision|sed 's/revision="\([0-9]\+\)">\?/\1/'
#
# # 基准版本号默认是1,可以通过传递一个参数修改
# get_version()
# {
# local __base=${1:-1}
# echo $((`git rev-list --all|wc -l` + $__base))
# }