苹果超级签名自动化实现思路
前言: 什么是超级签名?超级签名其实只是某些卖家搞出的来名字而已,和它具体的实现毫无关系,超级签名难道是超人做出来的签名?显然不是,我们先了解一下为什么会有这种超级签名?
苹果用户都知道苹果的app只能从app store里下载那么开发者开发好的应用该如何测试?苹果给出了相应方案,那就是超级签名,苹果允许个人开发者给100台设备
安装未上架app store的应用进行测试,说到这大家应该就大概的明白了什么是超级签名了吧,那么具体该如何实现呢?
准备工作:
个人开发者账号一个, windows电脑一台,linux服务器一台,域名一个
这里了解过的人可能要问了,不需要mac吗,当前不需要,早就有外国大佬搞出来了
步骤:
首先了解一下开发者是怎么将测试应用安装在手机上的
1.获取设备的udid,每台苹果设备的udid都是唯一的,和电脑的mac一样,修改以下代码写如xxx.mobileconfig文件,然后让用户下载即可安装描述文件,安装后uuid会发送到服务器进行处理
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>你的服务器接收uuid的地址</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>www.xman.com</string>
<key>PayloadDisplayName</key>
<string>caipu</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>abc66063-61b1-4348-ac01-d815a073ff5e</string>
<key>PayloadIdentifier</key>
<string>com.yun-bangshou.profile-service</string>
<key>PayloadDescription</key>
<string>该配置文件将帮助用户获取当前iOS设备的UDID号码。</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
2.获取到udid后,当然是注册了,如图进官网添加udid
3.添加以后,注册一下包名,可以随便填,标明app的唯一id
4.生成证书文件
5.拿到证书文件如何对ipa签名呢?
这就使用到了github的一个开源项目 Fastlane
把证书文件和ipa放在同一目录执行fastlane init
即可重签名应用了
6.如何实现自动化签名?
其实很简单,苹果为了方便开发者测试,已经提供了上述除了签名所有的api调用
关于windsow对ipa签名工具我已经在制作了,后续会分享给大家,完全免费
fastlane 就已经封装了一整套 api 了,写 ruby 脚本调用就好了。
个人的流程太多,大部分时间都花在请求 API 上面的。
企业的简单点儿,秘钥 + profile 就行了, 这类个人开发,如果几个人合买一个。不乱签还是挺好的,不容易掉千。山猪签,Gbox也都卖证书,但很容易掉,还要补买证书 个人开发者账号 是需要付费的吧 king8083 发表于 2020-8-25 23:25
个人开发者账号 是需要付费的吧
99美金一年 mark关注一波先 99的个人开发者做的? 感谢分享 马克一下 坐等实现自动化 坐等消息。 看看学习一下{:301_999:} 苹果这个超级签名是不是还要买