神气的 iOS 打包

字数 1015阅读 2886

看文章的标题就很霸气,这个标题也是花了好几秒钟才想出来。

这就是全自动的打包到上传的脚本

看完之后会发现其实一点都不神气、反而弱爆了,毕竟很久之前很多大神都在使用这么牛气的方式了。但是对于我来说,还是有点神气的。毕竟之前打包20分钟、并且还忙得不亦乐乎。现在不一样了,一个脚本运行起来,只需两秒钟,并且打包与上传全搞定,那就是一站式服务。用来学习,也是很不错的。[偷笑5分钟、犯困一小时]

项目代码在这里,顺便点个赞,同时给个star。

0、来点废话提提神

这是花了半个下午的成果,初次使用难免有很多看似高大上的东西,实际上是很 low的。
今天在网上看了不少大神的实现方式,以及脚本编写,都是行不通的,口误口误,不是行不通而是已经过时了而已。
比如他们用到的 PackageApplication,现在无法使用了,至少我没有成功过。
其次就是那个 -exportFormat 参数,早已经过期了。然后一直没有找到替代品,直接报这样的错:xcodebuild: error: invalid option '-exportFormat'
为了找到正确的,确实是费了不小的劲。然后通过命令 xcodebuild -h 无意间看到了这个 -exportOptionsPlist <plistpath>,联想到每次打包的时候在那个包文件夹中有类似的文件,所以报着试一试的心理。没想到还成功了。
建议看一下这个:https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-SW936

一、具体流程

  • 准备
  • 打包
  • 上传

1. 准备

  • 创建一个项目,比如HGPGY
  • 生成一个 ExportOptions.plist 文件,这个是打包的配置文件。如果不想手动创建,可以先第一次打一个包,然后在导出 ipa 的时候自动生成,以后使用这个文件即可。并将这个文件放到与项目目录同一级(非必须,可以自己规定)。 特别提醒:这个文件很重要,里面都是开发者账号与项目关联相关的配置。
    ExportOptions.plist文件

2. 打包

打包步骤为:构建 .xcarchive 再导出 .ipa 。

2.1 构建 .xcarchive 文件

在终端输入:
xcodebuild archive -project HGPGY.xcodeproj -scheme HGPGY -configuration Release -archivePath HGPGY.xcarchive

2.2 导出 .ipa 包

在终端输入:
xcodebuild -exportArchive -archivePath HGPGY.xcarchive -exportPath HGPGY.ipa -exportOptionsPlist ExportOptions.plist

3. 上传(以蒲公英为例)

这里不做介绍,具体详情可以查阅蒲公英官方文档:https://www.pgyer.com/doc/view/upload_one_command

二、脚本实现

具体的脚本在这里,顺便点个赞,同时给个star。

直接在终端输入:
sh UploadPackage2PGY.sh <项目名称> <更新日志>

比如:
sh UploadPackage2PGY.sh HGPGY 在使用高大上的脚本做打包上传.

打包之前的样子:

打包之前的样子

打完包是这样子的:

红框框中的两个文件是打包哦过程中生成的

脚本写得很low,但是还算可以了,至少是正确的。更多高质量的脚本代码,敬请期待!

如果还感兴趣,可以再欣赏一下这个代码,这里面暴露了很多OC中的秘密(与本打包话题无关)。

补充于 2018 年 3 月 29 日 17:14 ,若操作使用我的蒲公英账号的 Ukey 与apiKey 操作成功,那么您的项目会提交到我的蒲公英账号,可以通过这个二维码扫面安装:

扫描安装你提交的 APP

或者点击这里安装

记得改一下界面,然后看效果。祝您愉快!

参考文章:

推荐阅读更多精彩内容

  • iOS自动打包主要用xcodebuild命令, 在终端输入xcodebuild --help可以查看xcodebu...
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
  • 使用xcodebuild和xcrun打包签名 要构建Xcode项目,可以从包含项目的目录(即包含名称的目录)运行x...
  • 推荐一个自动化打包的工具套件,提供一个运行良好的持续部署流程,只需要运行一个简单的命令就可以触发这个流程。下面是G...
  • 行茶日记 日期:2017年12月12日 天气:阴 时间:16:30分 主泡:龙玛容 茶器:盖碗 品种:金骏眉 投茶...