Shell自动打包脚本

Shell自动打包脚本

网上的自动打包脚本都只是单方面的打包,没有找到那种可以直接提交到FIr、蒲公英、App Store的,而且也都是用的是xcrun打包的,现在已经不能用了,xcode9.0以后就只能使用xcodebulid打包了。然后就去研究了一下自动打包模式。

我写的这个自动打包脚本,暂时只适用于使用cocoapods管理的项目进行自动打包,只要拿过去配置一下PackageConfigs.plist文件就可以进行打包了,无需改脚本文件,可以进行一次性打包多target,可以自动提交到FIr、蒲公英、App Store三个平台,想要提交到哪个平台在PackageConfigs.plist配置一下那个平台的信息就可以了。

我已经升级为了Xcode10和iOS12,亲测全部打包成功并上传到Fir、蒲公英、App Store,并且打出来的包App Store已经审核通过。

首先,在这里下载脚本: https://github.com/GuiLQing/Package.git

下载的脚本文件夹

然后直接将下载好的脚本文件夹放到项目的根目录下

将脚本文件夹放到项目根目录

然后将需要进行自动打包的项目的target配置好进行一次手动打包,这里举个例子吧,比如说我要打一个Release的上传到App Store的包,配置好证书,也可以选择自动配置证书,然后将scheme改成Release模式,然后进行手动打包,然后将包export导出,就会生成一个文件夹,里面会有一个ExportOptions.plist文件,把那个文件放进脚本文件夹下的ExportOptions文件夹里面,然后改一下名称,我这里是改成了XXX_Release,XXX_Release是我项目里面的target名。

这是导出包里面的文件

拖进ExportOptions文件夹并改名,我的项目里面有三个target,分别是XXX_Local,XXX_Release,XXX_Test,所以我就对每个target分别进行手动打包,并导出相对应的ExportOptions.plist文件,并且分别命名。

拖进ExportOptions文件夹并改名

这里还有一个最重要的,需要点击Manage Schemes,将项目需要打包的scheme勾选后面那个shared,详情看下图:

点击Manage Schemes
勾选shared

前面的工作都做好了之后,以后就不需要再做前面的步骤了,剩下的就是PackageConfig.plist的修改了

可以看到,脚本打包文件夹内还有一个PackageConfig.plist的文件,这个文件就是用来配置打包信息和上传到平台所需要的信息的维护了。

PackageConfig.plist文件配置

如果只有一个target,需要上传到所有平台,可以这样配置

单个target配置

如果不需要上传到任何平台,把那些平台信息都清空就好了,或者是把那些update字段的key-value都删除。


注意:这个PackageConfig.plist文件里的XXX_export_info对应的value是ExportOptions文件夹里面的.plist打包配置文件名

PackageConfig.plist里面的key,只能改前面的Scheme名,后面的_export_info、_export_mode、_update_app_store_username、_update_app_store_password、_update_pgyer_u_key、_update_pgyer_api_key、_update_fir_token这种命名都是不能改的,如果改了就需要改脚本里面的对应的命名了,例如XXX_Release_export_info,只能改XXX_Release部分。

所有东西都改好了之后,点击PackageScript这个exec文件就会开始打包了,生成的包会在Package文件夹下创建以Target命名的文件夹,包名生成规格会以Target拼接详细时间生成。

包文件
PackageScript的exec文件是已经赋予了权限的,可以直接双击运行的,PackageScript(备份).sh是备份出来的脚本文件,如果有需要可以去修改,然后重新赋予权限。

如果需要修改,就复制一份出来,将PackageScript(备份).sh更名为PackageScript.sh,然后修改好了之后,打开终端,cd到当前目录下,输入mv PackageScript.sh PackageScript,移除了.sh后缀,然后再输入sudo chmod +x PackageScript,把移除后缀后的PackageScript文件转为exec可执行文件。

如果需要研究.sh语法的,可以打开PackageScript(备份).sh这个脚本文件看,都已经写好了注释了。

打包报错问题罗列清单

1、如果打包的时候出现了下图报错内容,说明是xcode升级之后,不是系统默认位置,需要修改
打包时报错1

打开命令行输入sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
然后再进行打包就OK了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容