iOS APP超级签名的实现流程图
超级签名原理
简单来说,就是把添加苹果设备udid然后打包进行真机测试的过程(如下面真机测试教程),实现了自动化!
申请ad hoc证书打包iOS真机测试教程
优点:
非常稳定,不会像企业证书签名容易掉签问题,而且不用信任,安装后直接可以启动!
缺点:
超级签名需要用到个人或者公司账号,年费688,只能加100个苹果手机udid,合计安装一台成本6.88,所以成本会比较高!
用户需要操作安装2次,需要安装先一个描述文件,再安装应用!
整体运行流程
1.用户手机安装预留的描述文件,获取本机udid后,向服务器返回用户的udid
2.服务器收到UDID后,将UDID添加到开发者账号下。
3.然后生成此udid签名用的证书描述文件,把预留的ipa重签。
4.重签后的iPA上传分发服务器,通过分发链接让用户下载。
Apple Developer Center 自动化工具
接下来的关键点就是如何在获取到用户的UDID之后,秒级完成注册新的开发者设备+更新Provisioning Profile的。 这里我们需要借助开源工具(Spaceship):
使用配置文件获取UDID例子
苹果公司允许开发者通过IOS设备和Web服务器之间的某个操作,来获得IOS设备的UDID!
1.制作获取设备udid的描述文件.mobileconfig
2.用户安装.mobileconfig描述文件!
3.返回接收用户的udid数据,比如:UDID,需要在.mobileconfig描述文件中配置好,以及服务器接收数据的URL地址;
获取设备udid的描述文件.mobileconifg写法例子
相关工具分享
获取设备UDID的第三方库:https://github.com/shaojiankui/iOS-UDID-Safari
Apple Developer Center 自动化工具:https://github.com/fastlane/fastlane/tree/master/spaceship
自动重签名工具:https://github.com/chaoji365/--udid/wiki
OTA 分发应用工具:https://github.com/atelierdumobile/appdeploy
Over-the-Air Profile Delivery Concepts(获取设备UDID官方文档):https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/OTASecurity/OTASecurity.html