Xcode自动打包脚本.sh文件制作

2021-04-12  本文已影响0人  shizidy_90

自动打包脚本shell原理

自动打包的原理其实是利用xcode的xcodebuild语句在终端命令行中执行相应功能xcodebuild语句,脚本的功能就是自动的在终端中执行xcodebuild语句而省去手动输入

一. .sh文件创建

1.如果有其他的.sh文件可复制一份,重命名直接用,或者自己新建一个,可利用一些IDE工具(VSCode,WebStorm)新建文件,保存为.sh文件格式,名字我这里暂且命名为autoarchive
2.赋予autoarchive.sh文件可执行权限,cd到autoarchive.sh文件目录,即命令行输入cd + 你的autoarchive.sh文件存放的目录 ,然后再输入chmod +x autoarchive.sh运行
3.测试一下autoarchive.sh是否能成功运行,直接打开autoarchive.sh文件,编写echo "Hello world!"echo相当于打印功能,shell脚本还有很多语法,可网上查资料。然后cd到autoarchive.sh文件目录,命令行中输入sh ./autoarchive.sh并运行,如果成功打印出Hello world!创建并且成功

二. 主要用到的就三种xcodebuild语句,以下内容是autoarchive.sh文件内容

1.xcodebuild clean ...打包前的工程清理

# ${ProjectName}project工程中(非workspace工程).xcodeproj的文件名字
# ${Target}project工程中编译的target,可省略
# ${WorkspaceName}工程中.xcworkspace的文件名字
# ${Scheme} 当前要编译运行的scheme
# configuration ${Debug或者Release} 当前是要以Debug运行还是以Release运行
# -quiet 忽略警告提示打印
# -UseNewBuildSystem=NO 是否使用新的build系统
xcodebuild clean -project "${ProjectName}.xcodeproj" -target "${Target}" -scheme "${Scheme}" -configuration ${Debug或者Release} -quiet -UseNewBuildSystem=NO
# 或者workspace工程
xcodebuild clean -workspace "${WorkspaceName}.xcworkspace" -scheme "${Scheme}" -configuration ${Debug或者Release} -quiet -UseNewBuildSystem=NO

2.xcodebuild archive ...工程打包,.xcarchive文件生成

# ${ProjectName}project工程中(非workspace工程).xcodeproj的文件名字
# ${Target}project工程中编译的target,可省略
# ${WorkspaceName}工程中.xcworkspace的文件名字
# ${Scheme} 当前要编译运行的scheme
# configuration ${Debug或者Release} 当前是要以Debug运行还是以Release运行
# -archivePath 导出的.xcarchive文件存放路径
# CODE_SIGN_IDENTITY 证书文件名,可省略(工程配置好,可编译成功即`command+B`运行通过)
# PROVISIONING_PROFILE 运行文件UUID,可省略(工程配置好,可编译成功即`command+B`运行通过)
xcodebuild archive -project "${ProjectName}.xcodeproj" -scheme "${Scheme}" -configuration ${Debug或者Release} -archivePath "导出的.xcarchive文件存放路径"

3.xcodebuild exportArchive ...ipa包导出

# -archivePath 导出的.xcarchive文件存放路径
# exportPath 你想要存放ipa及其其他文件的路径
# -exportOptionsPlist ExportOptions.plist路径,
# 先自己手动从Product->Archive打出一份,打出的包文件信息中会有ExportOptions.plist文件,复制一份拿来用,或者自己生成,只要.plist中信息与手动生成的ExportOptions.plist文件信息一致就行
xcodebuild -exportArchive -archivePath "导出的.xcarchive文件存放路径" -exportPath "你想要存放ipa及其其他文件的文件夹路径" -exportOptionsPlist "ExportOptions.plist路径"

4.判断是否导出ipa包成功

# -e后面是你的.ipa文件路径
if [[ -e "/Users/你的路径/xxx.ipa" ]]; then
    echo "----------------------------------"
    echo "------------ipa包已导出------------"
    echo "----------------------------------"
    open "/Users/你的路径"
fi

至此,主要的自动化打包脚本就完成了GitHub

上一篇 下一篇

猜你喜欢

热点阅读