iOS开发之项目自动打包Shell脚本

iOS开发之项目自动打包Shell脚本,第1张

Github地址:https://github.com/AAWayne/YWAutoPackage

平时自用的iOS项目自动打包脚本,支持自动上传蒲公英、App Store等应用分发平台

前言

先说说 Xcode 打包的烦恼吧,从 Archive 打包 再到 签名 导出 IPA 包 或者直接上传,

项目大点的在这期间会浪费很多等待的时间,比如 Archive 后忘了去签名,签名后又忘了去导出等等。

本脚本就是为了解决这一系列的烦恼而生的,优点:

1、shell 脚本在 Mac 上无需环境依赖,可直接运行,并统计各个阶段的 *** 作时间
2、自动 Archive、签名、导出IPA包、删除 Archive 包
3、自动上传预设的分发平台
正文

⚠️注意:

项目第一次必须手动打包并导出IPA成功后才能正常使用该脚本,因为 Xcode 手动打包导出后才会把打包所需证书、描述文件等备齐

使用方法:点击下载脚本相关文件

1、将YWAutoPackage文件夹直接拖到桌面

2、配置打开编辑YWAutoPackage.sh中的配置相关参数

3、再将YWAutoPackage.sh脚本文件拖入终端回车即可执行自动打包脚本

4、执行脚本后按需求输入选择打包版本

Dev 开发版、Hoc 测试版、App Store 生产版、Enterprise 企业版

5、如果执行脚本时出现如下错误是因为文件权限不足,只需对其授权777即可

-bash: /Users/candy/Desktop/YWAutoPackage/YWAutoPackage.sh: Permission denied

执行如下授权命令即可(这里的参考了上面的路径地址)

chmod -R 777 /Users/candy/Desktop/YWAutoPackage/YWAutoPackage.sh

6、如果需要上传 App Store,则安装 Transporter 上传工具,并且配置开发者账号和专用密码

打包脚本配置项
# ⚠️默认 Release 版,也可配置为 Debug
pro_environ=Release
# 项目路径,文件绝对路径,如下:
pro_path="/Users/xxx/BaseProject/BaseProject.xcworkspace"

# ⚠️自动上传蒲公英(uKey、_api_key)获取地址https://www.pgyer.com/doc/api#uploadApp
api_key="" # 不上传则不填
ukey=""  # 不上传则不填

## ⚠️自动上传苹果商店 - 苹果开发者账号 与 专用密码(需要提前设置 https://appleid.apple.com)
apple_id="" # 不上传则不填
apple_pwd="" # 不上传则不填
打包脚本核心内容展示
# 先组装路径 archive_path、ipa_path ,用于导出 ipa 和 上传
archive_path="${temp_path}/${ipa_dir}/${pro_name}.xcarchive"
ipa_path="${temp_path}/${ipa_dir}/${pro_name}.ipa"

# Clean *** 作
xcodebuild clean -${pro_clean} ${pro_full_name} -scheme ${pro_name} -configuration ${pro_environ}
judgementLastIsSuccsess $? "Clean"

# Archive *** 作
xcodebuild archive -${pro_clean} ${pro_full_name} -scheme ${pro_name} -archivePath ${archive_path}
judgementLastIsSuccsess $? "Archive"

# 导出IPA文件 *** 作
xcodebuild -exportArchive -archivePath ${archive_path} -exportOptionsPlist ${plist_path} -exportPath ${temp_path}/${ipa_dir}
judgementLastIsSuccsess $? "导出IPA文件"

# 删除 xcarchive 包
rm -r ${archive_path}


# ============ 上传到App Store ============  
# 获取 Transporter 上传工具【推荐】
toolPath="/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter"
${toolPath} -m upload -assetFile ${ipa_path} -u ${apple_id} -p ${apple_pwd} -v informational
# ============ 上传到App Store ============ 
 
如果不上传蒲公英或不上传App Store的话 注释下面两句话即可(如果没填写相关账号则不会执行上传 *** 作)
# 上传蒲公英分发平台
uploadPGY

# 上传 App Store
uploadAppStore

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/990735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存