iOS shell脚本自动打包

2019-06-20  本文已影响0人  尤先森

在我们开发完APP后,打包上架很正常,但打包经常需要很长的时间,特别是有时候只是一个小BUG,改完立马又要给测试们测试,改错一分钟,打包半小时!这打包的过程既浪费时间又降低效率。
shell自动打包可以以很快的速度完成打包动作,从而提高效率。

1.Xcode设置

  1. Xcode关闭自动证书配置,手动配置,与下文中的plist配置文件名保持一致即可。
  2. 确认BundleID一致,且Xcode不报错

2.准备plist文件

ad-hoc模板
image.png
App Store模板
image.png

3. 准备脚本shell.sh

tips: 如果项目使用pods管理,没有.xcworkspace,只有xcodeproj:只需将-project替换成-workspace

xcodebuild \
archive -project ${project_name}.xcodeproj \
↓↓↓↓↓↓↓↓↓↓↓↓↓ 替换 ↓↓↓↓↓↓↓↓↓↓↓↓↓
xcodebuild \
archive -workspace ${project_name}.xcworkspace \
#工程名
project_name=shell脚本打包

#打包模式 Debug/Release
development_mode=release

#scheme名
scheme_name=shell脚本打包

#plist文件所在路径
exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist

#导出.ipa文件所在路径
exportFilePath=~/Desktop/$project_name-ipa

echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet  || exit
echo '*** 清理完成 ***'


echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -project ${project_name}.xcodeproj \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath build/${project_name}.xcarchive -quiet  || exit
echo '*** 编译完成 ***'


echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit

# 删除build包
if [[ -d build ]]; then
   rm -rf build -r
fi

if [ -e $exportFilePath/$scheme_name.ipa ]; then
    echo "*** .ipa文件已导出 ***"
    cd ${exportFilePath}
    echo "*** 开始上传.ipa文件 ***"
    #此处上传分发应用
    echo "*** .ipa文件上传成功 ***"
else
    echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'

plist文件以及脚本文件
image.png
运行
  1. 打开命令行工具 cd 脚本文件所在文件夹路径
  2. ./xcodebuild.sh
  3. 桌面查收ipa文件夹

顺便发布到蒲公英

在ipa文件到处完成后,调用蒲公英的api。
上文代码替换如下内容(*号中的内容)即可。

if [ -e $exportFilePath/$scheme_name.ipa ]; then
    echo "*** .ipa文件已导出 ***"
    cd ${exportFilePath}
    echo "*** 开始上传.ipa文件 ***"
    #此处上传分发应用
    echo "************ 开始上传到蒲公英 ************"
    #上传到蒲公英
    #蒲公英aipKey
    MY_PGY_API_K=替换成你的蒲公英aipKey
    #蒲公英uKey
    MY_PGY_UK=替换成你的蒲公英uKey

    curl -F "file=@${exportFilePath}/${scheme_name}.ipa" -F "uKey=${MY_PGY_UK}" -F "_api_key=${MY_PGY_API_K}" https://qiniu-storage.pgyer.com/apiv1/app/upload
    echo "************ 蒲公英回调完成 ************"
else
    echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'
上一篇下一篇

猜你喜欢

热点阅读