由于安全的原因,客户不会把app的 distribution provisioning profile给开发者的,但是可以给一个development provisioning profile。这种情况下,我们把code signing中的provisioning profile的release版本设置为development provisioning profile,之后就可以进行archive了,再把archive发送给客户,他可以通过Organizer进行后续的发布操作。

这里面主要涉及了archive 和 distribution的知识。

archive不对provisioning profile做过多检测,只需要满足最低要求就可以:能够在真机运行的标准。所以,即使像下图这样的设定,也可以顺利archive:

而且,仅仅使用开发者provisioning profile再xcode7以上,也是可以导出ipa的。证明一下,下面是使用*类型的provisioning profile,进行export ipa的最后一步的截图:

我们再看看Organization中的几种发布方法,看下图:

我们刚才使用的是第四个选项,只需要development provisioning profile就可以了,但是前3个各自需要不同类型的 distribution provisioning profile。

其中第四个选项比较容易疑惑,什么叫development deployment呢,其实就是把cer和provisioning profile都用对应的dev版本,生成一个ipa,能够debug的设备都可以安装,这样看来,作用和 adhoc 有相似之处。

这个选项是xcode7.0之后出现的,经过我的测试,当设备被关联进development provisioning profile后,生成的ipa可以直接安装在这个设备上,而且不像用Enterprise Deployment 发布的程序还需要在设备上点击信任证书的选项。我这里有一个疑问,它和Ad hoc deployment有什么区别呢?

通过下面的截图能看出,基本上分4种证书,App Development, In house, Ad hoc, App store.分别对应Organization中的4个选项,

不要把archive和 distribution搞混了,真正的distribution是在Organizer中进行的。archive时的bundle id是非常关键的,bundle id确定后,必须选择对应的certificate的team才能进行发布,而且Organizer会在distribution过程中根据这个id去找匹配provisioning profile,如果有相应的provisioning profile 就可以发布,并不对archive时的证书做过多要求,Organizer回自动用合适的证书替换archive时的错误证书。

我把一个用develop provisioning profile的archive 分别用Development deployment 和 ad hoc deployment (已经申请了ad hoc证书)进行打包ipa,生成ipa后,对比这2个包中的embedded.mobileprovision文件,发现是不同的,由此,可以看出Organizer确实自行更改了 provisioning profile。

iOS 向客户发送xcarchive文件(整理中)的更多相关文章

  1. 如何在微信中发送"相册"文件时有选择性地显示视频文件

    相信很多微信用户在使用微信给朋友,同事发送相册中的文件时,微信会显示你手机中的视频文件,这样很不方便. 如果要完全不显示视频文件: 随便在手机中建立一个文件夹,名字叫 ".nomedia&q ...

  2. 使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

    在头文件climits(limits.h)以宏定义的方式定义了各种符号常量来表示各种整型类型表示数的范围,如int的最大最小值,long的最大最小值等. 符号常量 表示 CHAR_BIT char 的 ...

  3. 使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

    使用头文件cfloat中的符号常量获知浮点类型数据的表数范围 cfloat头文件包含了系统的浮点数的长度限制 头文件climits中的符号常量是获知整型数据的表数范围,并不能获取浮点类型数据的表数范围 ...

  4. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    文顶顶iOS开发博客链接整理及部分项目源代码下载   网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...

  5. iOS开发网络篇—文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  6. iOS 开发http post 文件的上传

    iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...

  7. iOS应用程序工程文件以及启动流程

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51351188 本文出自:[openXu的博客] iOS程序启动流程 完整启动流程 UIApp ...

  8. iOS崩溃日志ips文件解析

    iOS崩溃日志ips文件解析  一 简介 测试组的同事在进行稳定性测试时,通常会遇到一些崩溃,然后他们会将这些崩溃日志(一般是ips格式的文件)反馈给开发进行分析,但是这些ips文件中的内容通常是如下 ...

  9. IOS下载查看PDF文件(有下载进度)

    IOS(object-c) 下载查看 PDF 其实还是蛮容易操作的.在下载前,首先要把 IOS 可以保存文件的目录给过一遍: IOS 文件保存目录 IOS 可以自定义写入的文件目录,是很有限的,只能是 ...

随机推荐

  1. sql语句 in的教训

    如果子查询条件数据量特别大的话,千万不要用子查询.

  2. javascript 中断函数的使用 setInterval();

    <script type="text/javascript"> var i=1; var IR1 = setInterval("myMethod()" ...

  3. WPF基础到企业应用系列6——布局全接触

    本文转自:http://knightswarrior.blog.51cto.com/1792698/365351 一. 摘要 首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows ...

  4. python函数 与 函数式编程

    「函数」一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序), ...

  5. C#之方法的声明与调用

    //params关键字使用 class Program { static void Main(string[] args){ , , , }; Console.WriteLine(AddFunctio ...

  6. php桥接设计模式

    <?php //桥接模式 abstract class info{ protected $send=null; public function __construct($send){ $this ...

  7. 再次认识ASP.NET MVC

    MVC, V,就是View.视图 M,只应该是ViewModel.视图模型 C,Controller.控制器 我们需要怎么看待并使用这三者. 从你敲入url,我们可以做为入口. 当你敲入url并按了回 ...

  8. 第四章 电商云化,4.2 集团AliDocker化双11总结(作者: 林轩、白慕、潇谦)

    4.2 集团AliDocker化双11总结 前言 在基础设施方面,今年双11最大的变化是支撑双11的所有交易核心应用都跑在了Docker容器中.几十万Docker容器撑起了双11交易17.5万笔每秒的 ...

  9. 忍不住记录下小型的CMDB系统

  10. 广播接收者Receiver

    一,动态创建网络状态监控 思路: 1:需要注册一个广播接收者,registerReceiver()需要两个参数 public Intent registerReceiver( BroadcastRec ...