shell脚本程序自动打包

自动打包

#使用方法

# 删除IPADir包

if [ ! -d ./IPADir ]; then
    mkdir -p IPADir;

fi

# 删除build包

if [[ -d build ]]; then
    rm -rf build -r

fi

#工程绝对路径
project_path=$(cd `dirname $0`; pwd)

#工程名 将XXX替换成自己的工程名
project_name=BTC

#scheme名 将XXX替换成自己的sheme名
scheme_name=BTC

#打包模式 Debug/Release
development_mode=Release

#build文件夹路径
build_path=${project_path}/build

#plist文件所在路径
exportOptionsPlistPath=${project_path}/exportTest.plist

#导出.ipa文件所在路径
exportIpaPath=${project_path}/IPADir/${development_mode}

echo "请输入你想法发布的方式 ? [ 1:app-store 2:ad-hoc] "

##

read number

    while([[ $number != 1 ]] && [[ $number != 2 ]])
    do

        echo "笨蛋,只能输入 1 or 2"
        echo "请输入你想法发布的方式 ? [ 1:app-store 2:ad-hoc] "

        read number

    done

if [ $number == 1 ]; then

    development_mode=Release
    exportOptionsPlistPath=${project_path}/exportAppstore.plist

## 证书名字
else

    development_mode=Release
    exportOptionsPlistPath=${project_path}/exportTest.plist

fi

echo '///-----------'
echo '/// 正在清理工程'
echo '///-----------'

xcodebuild \

clean -configuration ${development_mode} -quiet  || exit

echo '///--------'
echo '/// 清理完成'
echo '///--------'

echo ''
echo '///-----------'
echo '/// 正在编译工程:'${development_mode}
echo '///-----------'

xcodebuild \

archive -workspace ${project_path}/${project_name}.xcworkspace \

-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive -quiet  || exit

echo '///--------'
echo '/// 编译完成'
echo '///--------'
echo ''
echo '///----------'
echo '/// 开始ipa打包'
echo '///----------'

xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \

-configuration ${development_mode} \

-exportPath ${exportIpaPath} \

-exportOptionsPlist ${exportOptionsPlistPath} \

-quiet || exit

if [ -e $exportIpaPath/$scheme_name.ipa ];

    then

    echo '///----------'
    echo '/// ipa包已导出'
    echo '///----------'

    open $exportIpaPath

    else

    echo '///-------------'
    echo '/// ipa包导出失败 '
    echo '///-------------'

fi

echo '///------------'
echo '/// 打包ipa完成  '
echo '///-----------='
echo ''
echo '///-------------'
echo '/// 开始发布ipa包 '
echo '///-------------'

if [ $number == 1 ];

    then

    #验证并上传到App Store

    # 将-u 后面的XXX替换成自己的AppleID的账号,-p后面的XXX替换成自己的密码

    altoolPath="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool"

    "$altoolPath" --validate-app -f ${exportIpaPath}/${scheme_name}.ipa -u xxxx [-p xxx]
    "$altoolPath" --upload-app -f ${exportIpaPath}/${scheme_name}.ipa -u  xxxx -p xxx

else

    echo "请输入你要发布的平台 ? [ 1:fir 2:蒲公英] "

    ##

    read platform

        while([[ $platform != 1 ]] && [[ $platform != 2 ]])

        do
            echo "笨蛋,只能输入 1 or 2"
            echo "请输入你要发布的平台 ? [ 1:fir 2:蒲公英] "
            read platform

        done

            if [ $platform == 1 ];

                then
                #上传到Fir

                # 将XXX替换成自己的Fir平台的token
                fir login -T 32b6a0e5066c66c0e3e8146836546d93
                fir publish $exportIpaPath/$scheme_name.ipa

            else

                echo "开始上传到蒲公英"

                #上传到蒲公英
                #蒲公英aipKey
                MY_PGY_API_K=xxx
                #蒲公英uKey
                MY_PGY_UK=xxxx

                curl -F "file=@${exportIpaPath}/${scheme_name}.ipa" -F "uKey=${MY_PGY_UK}" -F "_api_key=${MY_PGY_API_K}" https://qiniu-storage.pgyer.com/apiv1/app/upload

            fi

fi

echo "\n\n"
echo "已运行完毕>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"

exit 0

脚本

一般把 shell.sh 文件放在工程目录,终端cd 到当前工程路径下,

输入 ./shell.sh 回车执行,后面按提示执行

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值