美文网首页APP Store 常见的问题及解决方案
神剑若水哥:XCode 常用的两种打包的方式

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

作者: 神剑若水哥 | 来源:发表于2019-05-13 11:43 被阅读0次

    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

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ysraoqtx.html