iOS自动化打包脚本(Shell)
相比于Xcode打包,自动化脚本打包可以更有效地解放生产力,不需要一步步操作等待.
shell脚本
#!/bin/zsh
# 获取当前目录, 请将脚本放置于workspace或者Project同级目录
PROJECT_PATH="$( cd "$( dirname "$0" )" && pwd )"
# 项目target名字
TARGET_NAME=$1
# 打包环境
CONFIGURATION=Release
#工程文件路径
# APP_PATH="${PROJECT_PATH}.xcodeproj" #普通工程
APP_PATH="${PROJECT_PATH}/${TARGET_NAME}.xcworkspace" #工作区
# Xcode clean
xcodebuild clean -workspace "${APP_PATH}" -configuration "${CONFIGURATION}" -scheme "${TARGET_NAME}"
# 打包目录
DESKTOP_PATH="~/Desktop"
# 时间戳
CURRENT_TIME=$(date "+%Y-%m-%d %H-%M-%S")
# 归档路径
ARCHIVE_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}/${TARGET_NAME}.xcarchive"
# 编译环境
# 导出路径
EXPORT_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}"
# plist路径
PLIST_PATH="${PROJECT_PATH}/ExportOptions.plist"
# archive 这边使用的工作区间 也可以使用project
xcodebuild archive -workspace "${APP_PATH}" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -archivePath "${ARCHIVE_PATH}"
# # 导出ipa
xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath "${EXPORT_PATH}" -exportOptionsPlist "${PLIST_PATH}"
复制代码
ExportOptions.plist文件
ExportOption.plist
文件配置如下图所示,
[图片上传失败...(image-8ab379-1626745287775)]
<figcaption style="display: block;">ExportOptions.plist</figcaption>
provisioningProfiles
字典中的值是项目的bundle id
以及对应描述文件的名字, 配置该文件有一个取巧的方法, 直接使用Xcode打包, 之后直接导出ipa
即可得到一份该文件, 如下图所示:
[图片上传失败...(image-5ca4e4-1626745287775)]
<figcaption style="display: block;">Xcode打包获取ExportOptions.plist文件</figcaption>
注意: 如果是使用Xcode自动打包需要更改plist
文件中的signingStyle
的值为manual
使用方法
- Xcode手动配置证书, 不能选择
Automatically manage signing
- 将该脚本拖入终端后, 在空格后输入工程target名字
更多
xcodebuild
更多详细使用, 在终端中输入:
xcodebuild --help