• 超级签名的原理大家知道多少?

    2019-10-24 15:22:58

      我们大家知道签名,前面小编也是介绍了很多关于苹果签名,但是小编很少说到超级签名。超级签名的原理大家知道多少?接下来跟随ipa签名小编来详细的了解一下吧:
     

     

      签名原理

     

      签名原理其实就一句话,使用了苹果提供给开发者的Ad-Hoc分发通道,把安装设备当做开发设备进行分发。

     

      既然签名用是 Ad-Hoc ,那么 Ad-Hoc 所具有的优劣势也一并继承了下来:

     

      优点:

     

      直接分发,安装即可运行,不需要用户做企业证书的信任操作

     

      目前稳定,不会有证书吊销导致的业务风险(后续苹果政策风险非常高)

     

      缺点:

     

      单开发者账号的iPhone设备数量只有100个,导致分发成本非常高

     

      开发者账号需要预先写入安装设备的UDID,在工具链不通的情况下,获取用户的UDID相对困难和繁琐,而且手动写入UDID不存在商用可行性,当然目前这个缺点被解决了

     

      整体架构

     

      接下来我们就看看整套机制是如何进行的:

     

      在这里插入图片描述

     

      1.设备安装描述文件后,会向服务器发送设备的UDID。

     

      2.服务器收到UDID后,将UDID注册到某个开发者账号下。

     

      3.再生成签名用的描述文件,给IPA签名。

     

      4.然后iPA传Server,使用itms-services方式让用户下载。

     

      Apple Developer Center 自动化工具

     

      接下来的关键点就是如何在获取到用户的UDID之后,秒级完成注册新的开发者设备+更新Provisioning Profile的。 这里我们需要借助开源工具(Spaceship):

     

      技术细节

     

      使用配置文件获取UDID

     

      苹果公司允许开发者通过IOS设备和Web服务器之间的某个操作,来获得IOS设备的UDID(包括其他的一些参数)。这里的一个概述:

     

      1.在你的Web服务器上创建一个.mobileconfig的XML格式的描述文件;

     

      2.用户在所有操作之前必须通过某个点击操作完成.mobileconfig描述文件的安装;

     

      3.服务器需要的数据,比如:UDID,需要在.mobileconfig描述文件中配置好,以及服务器接收数据的URL地址;

     

      4.当用户设备安装描述文件后,设备会回调你设置的URL,如果你的URL返回302跳转的话,Safari浏览器会跳转到你所给的地址;

     

      5.mobileconifg写法