从零开始搭建一个苹果超级签名平台
超级签,企业签,TF签
- 为什么需要签名?
- 我们使用的
iPhone
,iPad
都是IOS
系统,它是属于苹果封闭的移动操作系统。 - 我们开发一款
APP
,正常情况必须上架到AppStore
,然后用户通过AppStore
进行下载,做过AppStore
应用上架的小伙伴都知道,苹果为了营造一个良性的生态,所以对每一款应用进行监测,会用到机器审核,开发者账号监测,应用内容审核等等,这就导致了应用更新的周期难,加上一些限制或其它因素无法上架。这个时候就应运而生了上述的几种签名系统。 企业签名
大型企业才能注册的苹果企业账号,用于企业内部的应用测试分发的账号。分发特点是签名包具有时效性,比如签名时长为一个月,一个月之后包就不能使用了,需要重新签名,用户需要重新下载,安装完成打开的时候会提示未受信任的企业证书,需要手动去点击信任才能打开应用。超级签名
利用普通的开发者账号100
个测试资格来安装测试应用,需要获取用户的UDID
并绑定到开发者账号才能打包。关于掉签问题,当苹果检测到这个开发者账号异常,会对账号进行封号或限制处理,这个时候用户端就出现应用无法打开的问题,这种情况就叫做掉签,需要用户端重新下载应用,服务提供商需要替换新的账号。TestFlight签名(TF签名)
TestFlight
是苹果公司为开发者提供的一个应用Beta版测试的软件,即应用正式发布之前,可以现在TestFlight
上更新,然后用户通过邀请链接点击下载测试应用,特点是所有用户必须先通过AppStore
安装TestFlight
这款软件。同时TestFlight
限制测试人数为10000
人,测试周期是90
天,即应用更新一次仅90
天内有效,用户安装完成后90
天内可任意使用,90
天过后如果不更新则无法打开应用。如果想让更多的人使用TestFlight
进行测试,在人数满了10000
人后可以在苹果开发者账号里删除参数测试的人即可邀请更多的人测试。这个分包特性是必须开发者先上传一个应用并且通过苹果的预审核机制,然后再次更新时直接替换新的包即可,无需再次审核。
准备工作
- 苹果开发者账号
Linux
服务器- 域名,
SSL
证书 Ad Hoc
的IPA
包zsign
Maybe is the most quickly codesign alternative for iOS12+ in the world, cross-platform ( macOS, Linux , Windows ), more features.
苹果账号设置
- 首先我们需要前往开发者中心生成
App Store Connect Api
访问秘钥。 - 我们需要保存的有
Issuer id
,ApiKey秘钥
,.p8
私钥文件。 - 然后我们需要使用到
App Store Connect Api
文档 - 首先生成一个
API
访问需要的Token
- 接口调用需要控制请求次数,在每次请求成功的响应头会带有请求限制信息。如:user-hour-lim:3500;user-hour-rem:500;表示同意
Token
每小时限制请求3500
次,剩余500
次请求,到达请求上限服务器会响应429
,代表请求频率过高。
.mobileconfig
的生成和签名。
1 | <?xml version="1.0" encoding="UTF-8"?> |
.mobileconfig
是应用描述文件,作用是用户通过Safari
浏览器安装,服务器即可获取设备的唯一识别码UDID
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fairyin的小窝!
评论