手动实现一个超级签名

现在互联网上都说ios的超级签名很牛逼,所以我今天就来进行技术攻关了,一下就是实现超级签名的视频

https://www.bilibili.com/video/av52762196

首先我们需要知道ios的超级签名是什么鬼玩意,所谓的超级签名就是使用了苹果提供给开发者的Ad-Hoc分发通道,把安装设备当做开发设备进行分发。

那这个超级签名有什么好处。。做过ios的同学都知道企业签的贵,即便你想用,但是老板也不很愿意去买单,那有的同学就问了不是说开发者账号的iPhone设备数量只有100个,这玩意大量搞就可以有大量的数量。一句话还是总结到钱的问题

整体架构

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


超级签名原理

首先要实现这一套系统我们这里选用php + ruby 的方式,具体脚本的实现的方式有很多种实现的方式,具体原理都是一样的

1.基于配置描叙文件获取设备udid

我们这里使用的是php后台服务器

我们需要准备什么

需要准备一个mobileconfig的xml文件,就像下面一样的文件

需要准备一个触发下载的mobileconfig的html文件

html样式:



重要地址

当上面的html文件和mobileconfig准备完毕,我们看html按钮点击效果,就会入下图一样


接下来我们需要编写php的脚本文件去获取苹果post过来的xml数据




效果:

2. 提交新增开发者设备,更新profiles

spaceship ruby的一个apple api的库

如图:


第一步安装这个玩意


我们需要搞清楚这一步要做些什么提交第一步拿到的udid已经更新到苹果开发者后台那个devices里面,然后更新对应profile并且进行下载

好。。我们解析一下步骤

    1.库的安装

    2.拿到udid

        由第一步操作拿到的udid去操作第二个ruby脚本就行了

    3.需要登陆苹果开发者的后台

        实际上就是调用库中这个方法

    4.更新devices里面加入udid

        就是调用了这个方法

    5.更新profile并且下载最新的profile

    

以上的操作都不需要在mac环境下操作的 windows linux都是可以的

3. 签名

一般是用这个库或则自己搞一个脚本(能说这个玩意还是有点坑啊)

https://github.com/fastlane/fastlane/tree/master/sigh

4.下载app

一旦在上面的步骤和脚本同步操作完的时候就只需要在对应的mobileconfig的那个文件返回301跳转到下载地址就可以了

你可能感兴趣的:(手动实现一个超级签名)