神剑若水哥:XCode 常用的两种打包的方式

Xcode 打包的方式网上也很多,但是不系统,今天神剑哥,就来个系统点的。大致就是两种打包方式:

archive 打包 和 Build Show in finder 打包(Build Show in finder打的包其实是你run和build 工程的时候生成在products里的包)\color{red}{我用的Xcode 10.2.1 }演示,这个也是当前最新版本。不同的版本,可能会有细微差别

一、打包前的相关设置:

1证书的相关设置如下图:\color{red}{ 1,2,3 步骤} 我们配置好DEBUG包和Release 包的描述文件(最好不要勾选automatically manage signing),也就是说:DEBUG包 和RELEASE 包 使用的证书不同。有的小伙伴就问了,我怎么知道,我打的包是RELEASE 还是 DEBUG 尼? 也许有的小伙伴并不知道怎么控制,请看第二条;

1证书配置.jpg

2.你run或者build的时候,生成的包是RELEASE 还是 DEBUG 包,其实是通过下面步骤\color{red}{ 1,2,3 步骤}来设置控制 ,如图,点击run 时,有一个Debug 和Release 选项;这个就决定了你在 build 或 run 工程时,在工程products \color{red}{(可能有的小伙伴不知道products文件夹在哪里,回头细说)}文件夹中生成包是Debug 还是Release。\color{red}{关于DEBUG 和 RELEASE 包的区别,就不多说了}简单点:

1.DEBUG包中有断点,有一些调试数据和打印信息,这些RELEASE 包都没有。
2.有的可能DEBUG 和 RELEASE包,环境地址不同,甚至有功能有差异,有一些代码是根据DEBUG 来判断是否编译的。
2进入scheme-1.jpg

3进入scheme-2.jpg

3.archive 打包 RELEASE 还是 DEBUG 和上面差不多一样,如下图:

4进入scheme-3.jpg

二、Build Show in finder 打包

DEBUG 还是RELEASE 上面已经说过了,不在多说了

1.清除工程中先前的缓存的包 \color{red}{(也就是products 里的包)},方法:command + shift + k \color{red}{(等待clean successful)} products 文件夹会变红色,如下图

5clean工程.jpg

2.编译工程生成包,方法:command + B \color{red}{(等待build successful)} products 文件夹会变色,如下图:

6build工程.jpg

3.获取.app 包 方法:对着生成的包,右击->show in finder \color{red}{(如下图:步骤 1,2)}

7找到包-1.jpg
7找到包-2.jpg

4.获取.ipa 包 方法: \color{red}{(a,b,c三步)}

a.在桌面上新建一个文件夹Payload ,将上一步找到的那个包,拷贝并放入这个新建的文件夹里, \color{red}{(如下图:)}\color{red}{Payload }不能用其他的名字,图中TestApp是错误的,TestApp文件夹出包以后不能安装,亲试,知道的请留言,大家自动将testApp 脑切为\color{red}{Payload }
7找到包-3.jpg
b.对着这个Payload右击,压缩Payload \color{red}{(如下图:)},生成Payload.zip \color{red}{(如下图:)}
7找到包-4.jpg
7找到包-5.jpg
c.把Payload.zip扩展名改为ipa \color{red}{(如下图:)},生成Payload.ipa \color{red}{(如下图:)}
7找到包-6.jpg
7找到包-7.jpg
7找到包-8.jpg

Payload.ipa 就是我们最终要的东西,很简单吧

这样压缩过来改名字有的时候很麻烦的,这里分享一个zip压缩脚本https://pan.baidu.com/s/1q6RjQ4cE4zc5KYtCOct2iw,只要把脚本和Payload文件夹放同一级目录,双击脚本,就可以对Payload进行压缩了,直接生成ipa 文件了,如图:

脚本.jpg

如果有的小伙伴遇到权限问题。要给脚本增加权限:

chmod +x /Users/Desktop/test/zip压缩脚本.command 
//后面是脚本的路径

\color{blue}{注意:只要双击脚本,就可以了} \color{red}{如图:}

脚本2.jpg

三、archive 打包如下:

DEBUG 还是RELEASE和证书配置 第一大步已经说过了,不在多说了

1.archive 打包\color{red}{(如下图:1,2,3)}

8archive-1.jpg

2.archive完成以后 会弹出如下界面\color{red}{(如下图:点击配置这个包Distribue App)}

8archive-2.jpg

3.选择打包类型 会弹出如下界面\color{red}{(如下图:根据包的用途和profile 的种类,选择你的包,我的证书是enterprise,所以我选第三个,给大家示范)}

archive-3.jpg

4.出现如下界面,选择瘦身的设备(可不选),以及Safari链接(可不选)\color{red}{(如下图:)}

8archive-5.jpg

5.出现如下界面,选择你的签名证书,profile 描述文件,然后next 变成可以点击的状态了 \color{red}{(如下图:)}

9archive-6.jpg

6.签名完成以后,出现下面的界面,点击export ,导出你的包,选择保存路径即可。 \color{red}{(如下图:)}

8archive-7.jpg

archive-9.jpg

5.在导出的文件夹中,我们发现了我们的包 \color{red}{(如下图:)}

last.jpg

6.总结:archive 打包慢一些,步骤多,但是不容易出错,所打的包属于debug还是release,也是靠最初的第一大步控制,。

建议:1.如果是临时给测试人员打包,测试人员要看debug日志或者包中需要展示在DEBUG 下的一些调试功能可以使用build show in finder(builde 和run 时程序员不需要改动,默认就是debug包) 打包。2.如果是发包生产,或者上传App store ,还是archive吧,因为archive默认就是release,而切步骤详细,不容易出错 3.这样不用每次都去调整release 还是debug 了。当然,只是建议。

以上是自己的一点拙见,欢迎大家指正,有需要的可以留言,或者发送邮件联系讨论:26263134126@qq.com

喜欢😍的请点个👍喜欢,多谢支持,以后“神剑哥”会更卖力创作,后续会给大家讲述,如如何用脚本打包。

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