zoukankan      html  css  js  c++  java
  • iOS 向客户发送xcarchive文件(整理中)

    由于安全的原因,客户不会把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。

  • 相关阅读:
    什么造就一个伟大的站点
    我的一些关于商业计划书的经验
    iPhone开发:万能的NSData
    两种快速打乱NSMutableArray的方法
    交大校友:互联网大佬们
    程序员的十层楼 11层(上帝)
    iPhone开发:使用NSValue存储任意类型的数据
    Linux之lsof命令
    MySQL密码忘了怎么办?MySQL重置root密码方法
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address
  • 原文地址:https://www.cnblogs.com/breezemist/p/5733966.html
Copyright © 2011-2022 走看看