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

iOS开发之项目自动打包Shell脚本相关推荐

  1. 项目自动打包部署脚本

    项目自动打包部署脚本 本次自动打包部署依赖于git.maven来实现自动化部署项目 一.远程服务器安装git 检查git是否已安装: sh-3.2# git --version git version ...

  2. 自动打包Shell脚本

    简介 iOS应用自动化打包,可以给开发者带来无穷的便利.节省了不少时间. 作者Bruce的脚本,放到Github BashShell上了 另外Bryce Zhang童鞋总结了一篇:传送门 Build+ ...

  3. java 项目自动部署shell脚本

    利用git,自动部署代码,预先要安装好tomcat,mysql,git,jdk. #!/bin/sh echo ============================ echo 自动化部署脚本启动 ...

  4. pomelo php,Nginx 502 Bad Gateway 自动重启shell脚本

    星期三, 2013-08-14 | Author: LeeAuthor: Lee Name: lee Email: service@i5a6.com Site: https://www.pomelol ...

  5. mysql 5.6.28安装图解_mysql 5.6.28 自动安装shell脚本

    mysql5.6.28自动安装shell脚本,为了包装源码包的可靠性,请自行下载mysql-5.6.28.tar.gz,接着我就不说废话,附上自动安装脚本.#!/bin/bash #author ab ...

  6. iOS开发入门——项目创建

    iOS开发入门--项目创建 1.新建项目 2.项目模版 3.项目配置 配置好之后点下一步就好.... 4.确定存储位置 5.启动模拟器 这就是第一个空白项目的创建过程,后面将持续更新iOS开发学习经历 ...

  7. Springboot项目自动打包部署插件 (wagon-maven-plugin)

    Springboot项目自动打包部署插件 (wagon-maven-plugin) pom.xml文件添加配置: <properties>中添加: <service-path> ...

  8. iOS开发7:自动旋转与调整大小

    iOS开发7:自动旋转与调整大小 收藏  分享到 发表于 2012-08-31  •  16285 次查看 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和 ...

  9. Spring Boot 项目部署方案 /打包 + Shell 脚本部署详解,稳的一批

    本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assemb ...

最新文章

  1. 函数指针与指针函数的区别
  2. TCP/IP这本书讲TCP是从哪些方面保证可靠性的?
  3. double 直接舍去 保留两位小数
  4. R语言实战应用精讲50篇(三)-多重线性回归系列之模型评估与诊断应用案例
  5. nginx负载均衡 页面缓存
  6. 给缺少Python项目实战经验的人,赶紧收藏!
  7. SpringMVC多拦截器的执行
  8. linux 文件查找帮助命令 , 查看网络链接信息, 历史命令
  9. 《程序设计技术基础》第1-5章例程
  10. opencv之透视变换cvWarpPerspective
  11. 对费曼来说,“不可能”意味着什么?
  12. win10配置计算机环境变量,教你win10怎么设置环境变量
  13. 用Python抓取漫画并制作mobi格式电子书
  14. Excel中序号自动填充
  15. 一种求周期二元线性序列的极小多项式的方法
  16. 对比学习顶会论文系列-3-2
  17. 受疫情影响!美国大量科技初创企业要挨饿或倒闭
  18. python脚本厉害吗?使用selenium实现前程无忧简历自动刷排名!
  19. 【优化求解】基于加权黑猩猩算法WCHoA求解单目标问题matlab源码
  20. Unity旋转值Quaternion交换旋转轴

热门文章

  1. javaweb前后端交互的方法总结
  2. 利用R语言如何画出广州房价地图
  3. 蚂蚁算法matlab,蚁群算法(ACA)及其Matlab实现
  4. Java线程泄露的分析与处理
  5. 软件研发效能的负面清单:哪项是头号敌人?
  6. 服务器到期续费通知,UCLOUD服务器到期检查和取消自动续费选项防止欠账账单
  7. 关于Python中输入的问题
  8. VNC Server安装与配置
  9. 签字后被开除_没有加盖公司公章但有部门负责人签字的解聘通知书有效吗
  10. DIY多快充协议太阳能充电器!----硬件框图