ios 使用shell脚本自动打包上传到fir.im或者App Store上

前言:对于我们iOS开发来说,打包是每天要干的事,项目比较小的话使用Xcode自带的Product -> Archive打包方法还是很快的,但是一旦工程项目比较大的话,那漫漫的打包时间,而且也干不了别的,苦逼不?可恨不?MMP不?作为一个程序员,重复的工作做得越少越好,不扯淡了,下面开始正题。

平常我们打包主要有两种用途:

1、  提交测试版本ipa给测试人员 

    配置好测试描述文件,然后`Product -> Archive`编译打包,选择`Organizer`,导出`ad hoc 的 ipa` 包。再上传到Fir等第三方平台上,然后通知测试同事进行测试。整个流程下来需要人工监守操作比较耗费时间。

2、 提交ipa包到App Store已供审核 

    配置好正式的描述文件,然后同样的方式打包导出`app store 的 ipa` 包。通过`Application Loader 等方式`提交到App store等待苹果处理二进制包,处理完后选择构建版本,最后提交等待苹果审核。

**无论**打测试包提供测试人员测试还是打正式包上传到App strore,整个过程都是重复耗费人工的操作,需要人工等待,然后各种点击选择…我们可以通过编写脚本语言来实现整个过程。

配置自动打包发布的流程

通过下面几步的设置好之后,以后再进行打包发布到第三方平台或者App Store 只需要一步就能搞定了,So easy,too happy!

本人通过`shell脚本`实现从`archive->生成ipa->上传到第三方平台(Fir.im 、蒲公英)或 App store`。通过下面几步即可实现自动打包上传功能。

下面通过实例详细演示整个过程

第一种:打包上传到第三方平台Fir (上传蒲公英原理一样)

第二种:打包上传到App store

准备工作:

因为要上传到Fir平台,需要先安装fir-cli

如果没有安装过rvm,需要安装rvm,在终端输入rvm -v命令查看,如果打印出rvm:command not found说明没有安装过rvm,如果能打印出rvm版本等信息说明安装过。如果没有安装过rvm可以通过下面的命安装,如果已经安装过可以忽略。

没有安装的话,方法如下:

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第1张图片

在终端输入 curl -L get.rvm.io | bash -s stable ,然后稍等一会rvm就安装好了

在终端输入 source ~/.bashrc

在终端输入 source ~/.bash_profile

再输入rvm -v查看安装成功

1、下载shell 文件

下载地址:

shell下载地址

2、将shell-中的3个文件拖入工程的根目录

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第2张图片

3、根据自己需求选择好描述文件

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第3张图片
ios 使用shell脚本自动打包上传到fir.im或者App Store上_第4张图片
ios 使用shell脚本自动打包上传到fir.im或者App Store上_第5张图片

4、根据自己的项目修改一下shell.sh ((下载完之后,打开shell.sh文件,command +F搜索XXX,将XXX根据注视替换成自己项目对应的东西))

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第6张图片

5、cd到工程根目录,通过./shell.sh 执行脚本即可

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第7张图片

输入1或者2,选择是打hoc包还是release包,这里选择打hoc包,按下回车,就不用管了,它会自动打包并上传到fir.im,上传完成的话直接去fir.im去查看就行了。

以上就算介绍完了,

常见错误:

1、错误一

ios 使用shell脚本自动打包上传到fir.im或者App Store上_第8张图片

解决方法:在终端 输入rvm system后重新执行sehll脚本就可以了

2、如果前面已经安装过fir-cli,但是在脚本执行过程中任然报fir:command not found的错误 

解决办法: 在终端输入rvm get head 

执行完毕后再次执行脚本就ok了 

你可能感兴趣的:(ios 使用shell脚本自动打包上传到fir.im或者App Store上)