iOS 自动打包脚本配置和上传到TestFlight
背景
之前公司打包并不统一,测试取包走的是自动打包流程,App打包上传到TestFlight
以供审核采用的是人工打包及上传,人力重复劳动就很不舒服,所以搜索资料搞了搞自动打包与自动上传TestFlight
的脚本。
打包过程中所需要的各种目录路径
为了便于在不同开发者拉取代码之后都能够顺利打包,不需要再动脚本,我将脚本放到了项目工程同目录下
#当前工作目录
WORKSPACE_PATH=`pwd`
#工程目录
PROJECT_PATH=$(dirname "${WORKSPACE_PATH}")/AllYoga/
#获取主工程路径
PROJECT=${PROJECT_PATH}/${PROJECT_NAME}.xcodeproj
PROJECT_W=${PROJECT_PATH}/${PROJECT_NAME}.xcworkspace
BUILD_DIR=${WORKSPACE_PATH}
# 删除缓存目录
rm -rf ${BUILD_DIR}/output
mkdir ${BUILD_DIR}/output
#指定archive路径
ARCHIVE_PATH=${BUILD_DIR}/output/${PROJECT_NAME}.xcarchive
#指定到处文件的路径和对应的plist文件路径
EXPORT_PATH=${BUILD_DIR}/output
API_KEY=""
API_ISSUER_KEY=""
如上述脚本的一些目录路径配置,这里说明的一点在当前目录下获取上级目录的方法
$(dirname "${WORKSPACE_PATH}")
整体目录是这个样子,打包脚本及产出物统一放置在与项目工程目录同级的package
文件下,这两者的上级目录为git
操作的文件
API_KEY 及 API_ISSUER_KEY
上传TestFlight
需要用到这两个参数,参数获取可以到 用户和访问
-> 密钥 -> AppStoreConnect API,生成一下,要注意,生成之后将对应的.p8
文件下载下来保存好,这个文件只能下载一次,可以放到git
仓库保管,下载后,还需要在电脑的用户目录下新建一个 private_keys
文件,将.p8
文件放到里面,否则在上传TestFlight
时可能报错
Archive 脚本
#echo "删除xcode缓存文件"
rm -drf ~/Library/Developer/Xcode/DerivedData/*
#再clean一次目标PROJECT_NAME
xcodebuild clean -configuration ${BUILD_TYPE} -workspace ${PROJECT_W} -scheme "${PROJECT_NAME}"
#xcodebuild编译
if [ ${BUILD_TYPE} == "Debug" ];then
xcodebuild -configuration ${BUILD_TYPE} -workspace ${PROJECT_W} -scheme "${PROJECT_NAME}" -sdk iphoneos VALID_ARCHS="armv7 arm64" -archivePath ${ARCHIVE_PATH} archive
else
xcodebuild -configuration ${BUILD_TYPE} -workspace ${PROJECT_W} -scheme "${PROJECT_NAME}" -sdk iphoneos VALID_ARCHS="armv7 arm64" -archivePath ${ARCHIVE_PATH} archive
fi
Export 出ipa文件
xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportPath ${EXPORT_PATH} -exportOptionsPlist ${BUILD_DIR}/ExportOptions.plist || exit 1
上传TestFlight
# 上传ipa
xcrun altool --upload-app -f ${IPAPATH} -t iOS --apiKey ${API_KEY} --apiIssuer ${API_ISSUER_KEY} --verbose
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgahgff
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01