因为苹果企业签名的不稳定,很多人把目光转移到苹果超级签名这种方式,想要一个稳定长久的运行方式!

 

超级签名需要要用到的基本资料!

 

1、个人或者公司的苹果开发者账号

2、超级签名分发系统!

 

超级签名成本

超级签名需要用到个人或者公司的苹果开发者账号,年费688,只能加100个苹果手机udid,最基本的合计安装一台成本是6.88!

 

加上分发系统这边的成本,合计安装一个十来块!如果用户量大的成本会非常高!

 

超级签名的优点就是非常稳定,不会像企业证书签名容易掉签问题,而且不用信任,安装后直接可以启动!追求稳定的很适合!

 

 

超级签名技术流程图

 

超级签名技术细节原理

简单来说,就是把添加苹果设备udid然后打包进行真机测试的过程(如下面真机测试教程),实现了自动化!

申请ad hoc证书打包iOS真机测试教程

整体运行流程

 

1.用户手机安装预留的描述文件,获取本机udid后,向服务器返回用户的udid

2.服务器收到UDID后,将UDID添加到开发者账号下。

3.然后生成此udid签名用的证书描述文件,把预留的ipa重签。

4.重签后的iPA上传分发服务器,通过分发链接让用户下载。

 

使用配置文件获取UDID过程

 

苹果公司允许开发者通过IOS设备和Web服务器之间的某个操作,来获得IOS设备的UDID!

 

1.制作获取设备udid的描述文件.mobileconfig

 

2.用户安装.mobileconfig描述文件!

 

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

 

获取设备udid的描述文件.mobileconifg写法例子

 

<?xml version=”1.0″ encoding=”UTF-8″?>

<plist version=”1.0″>

<dict>

<key>PayloadContent</key>

<dict>

<key>URL</key>

<string>http://dev.skyfox.org/udid/receive.php</string> <!–接收数据的接口地址–>

<key>DeviceAttributes</key>

<array>

<string>UDID</string>

<string>IMEI</string>

<string>ICCID</string>

<string>VERSION</string>

<string>PRODUCT</string>

</array>

</dict>

<key>PayloadOrganization</key>

<string>dev.skyfox.org</string>  <!–组织名称–>

<key>PayloadDisplayName</key>

<string>查询设备UDID</string>  <!–安装时显示的标题–>

<key>PayloadVersion</key>

<integer>1</integer>

<key>PayloadUUID</key>

<string>3C4DC7D2-E475-3375-489C-0BB8D737A653</string>  <!–自己随机填写的唯一字符串–>

<key>PayloadIdentifier</key>

<string>dev.skyfox.profile-service</string>

<key>PayloadDescription</key>

<string>本文件仅用来获取设备ID</string>  <!–描述–>

<key>PayloadType</key>

<string>Profile Service</string>

</dict>

</plist>

 

相关工具分享

 

获取设备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