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

前言

先说说 Xcode 打包的烦恼吧,从 Archive 打包 再到 签名 导出 IPA 包 或者直接上传,
项目大点的在这期间会浪费很多等待的时间,比如 Archive 后忘了去签名,签名后又忘了去导出等等。
本脚本就是为了解决这一系列的烦恼而生的,优点:

本脚本在 Mac 终端上执行无需环境依赖,并统计各个阶段的操作时间
自动 Archive、签名、导出IPA包、删除 Archive 包
自动上传预设的分发平台

⚠️注意:

项目第一次必须手动打包成功才能正常使用该脚本,Xcode 手动打包后才会把打包所需文件备齐

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

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

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 上传工具,并且配置开发者账号和专用密码

打包脚本核心内容展示

# 先组装路径 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容