前言:对于我们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可以通过下面的命安装,如果已经安装过可以忽略。
没有安装的话,方法如下:
在终端输入 curl -L get.rvm.io | bash -s stable ,然后稍等一会rvm就安装好了
在终端输入 source ~/.bashrc
在终端输入 source ~/.bash_profile
再输入rvm -v查看安装成功
1、下载shell 文件
下载地址:
2、将shell-中的3个文件拖入工程的根目录
3、根据自己需求选择好描述文件
4、根据自己的项目修改一下shell.sh ((下载完之后,打开shell.sh文件,command +F搜索XXX,将XXX根据注视替换成自己项目对应的东西))
5、cd到工程根目录,通过./shell.sh 执行脚本即可
输入1或者2,选择是打hoc包还是release包,这里选择打hoc包,按下回车,就不用管了,它会自动打包并上传到fir.im,上传完成的话直接去fir.im去查看就行了。
以上就算介绍完了,
常见错误:
1、错误一
解决方法:在终端 输入rvm system后重新执行sehll脚本就可以了
2、如果前面已经安装过fir-cli,但是在脚本执行过程中任然报fir:command not found的错误
解决办法: 在终端输入rvm get head
执行完毕后再次执行脚本就ok了