shell实现iOS自动化打包简单帮助理解事例脚本

2018-06-29  本文已影响30人  Hanfank

三、示范使用一下(简化)

自动打包

二、使用方法示例:

1、新建一个autoPackger.sh文件到桌面上。
2、复制以下脚本到文件内,并修改,保存。
3、在终端中输入sh /Users/HanDa/Desktop/autoPackger.sh
4、回车

一、脚本

#!/bin/sh
# 此脚本为自动化打包程序
# shell+xcodebuild实现自动化打包
# by HanDa 2018-6-22

# 基本设置(需要修改) - 这个是我的项目存放目录,也就是.xcodeproj所在的目录
projectPath="/Users/HanDa/Documents/GitSpace/AutoPackger/DSBet"
# 基本设置(需要修改) - xcworkspace 名称 
# Q:我使用的是.xcodeproj怎么办呢?
# A:那就写成AutoPackger.xcodeproj,然后打开下方注释的代码,搜索“(使用project)”
work_space="AutoPackger.xcworkspace"
# 基本设置(需要修改) - 需要打包的Target名称
target="AutoPackger"

# 导出设置(需要修改) - 产生的ipa目录,签名完之后将ipa保存到哪里
exportPath="/Users/HanDa/Desktop/AutoPackger"
# 导出设置(需要修改) - 导出包时的Plist文件。这个文件可以通过手动打包方式导出一次就会自动生成,复制出来用就可以了,当然也可以自己手动新建。
exportOptionsPlist="/Users/HanDa/Desktop/ExportOptions.plist" 
# 导出设置(需要修改) - 导出的Ipad名称
exportName="AutoPackger"

#-------------------------- 以上为需要配置的信息,以下不再需要配置 -------------------------------


# cd 到 projectPath 这个路径
cd ${projectPath}

echo “<-----------------开始clean所有target------------------->”
#clean所有target项目
xcodebuild clean -configuration Release -alltargets

# 编译 ".xcarchive" 文件的存放地址
archivePath="${exportPath}/${exportName}.xcarchive"

echo “<-----------------开始归档archive文件------------------->”
# 归档 对应手动打包archive(使用workspace)
xcodebuild archive -workspace ${work_space} -scheme ${target} -configuration Release -archivePath ${archivePath}
# 归档 对应手动打包archive(使用project)
# xcodebuild archive -project ${work_space} -scheme ${target} -configuration Release -archivePath ${archivePath}

# 生成打包时间
time=$(date "+_%Y-%m-%d_%H-%M-%S")

# 拼接导出ipa的地址
ipaPath="${exportPath}/${exportName}${time}"

echo “<-----------------开始导出ipa文件------------------->”
# 对应导出步骤
xcodebuild -exportArchive -archivePath ${archivePath} -exportPath ${ipaPath} -exportOptionsPlist ${exportOptionsPlist}

# 文件绝对路径Fir使用
uploadPath="${ipaPath}/${target}.ipa"
# 打印路径
echo ${uploadPath}

echo “<-----------------开始上传到Fir------------------->”
# 使用fir-cli上传测试包,当然需要安装fir-cli,安装方法:https://github.com/FIRHQ/fir-cli
# 通过Token登录Fir ,此Token到Fir官网生成。
fir login "Token"
# 上传到Fir ,${uploadPath} 是ipa包的地址,-Q 参数, 是否生成发布后二维码, 默认为不生成, 加上 -Q 参数后会在当前目录生成一张二维码图片, 扫描该图片即可下载该应用.
fir publish ${uploadPath} -Q
echo “<-----------------结束------------------->”
上一篇下一篇

猜你喜欢

热点阅读