应用分发平台之苹果超级签名流程分析及API错误

苹果超级签名实现分析

超级签名指的是将用户udid设备进行注册到苹果个人开发者账号下,并下载相应描述文件,将adhoc包通过描述文件签名后,分发给用户的操作。

为什么需要超级签名?某些原因,无法上架苹果商城,或者临时测试分发应用。那么,绕过苹果商城的方式大概三种:

  1. 使用企业包
  2. 使用adhoc包
  3. 使用苹果自家的TestFlight

企业包的弊端是频繁掉签,掉签后,玩家无法使用,提示未受信任的开发者。其次,企业账号申请困难,听说苹果已经停掉国内申请入口,市面上企业账号已经被炒到几十万RMB。好处显而易见,一个账号就可以搞定好多包。

adhoc包,adhoc包无法自主安装,需要在苹果后台添加设备信息后,指定设备才可以安装。缺点是无法大面积分发给用户自主安装,并且一个个人开发者账号,只能安装100台设备。优点是稳定不掉签。

苹果自家的TestFlight 的上架也是困难重重,审核复杂

实现adhoc包签名分发技术难点:

  1. 如何获取UDID

  2. 如何将获取到UDID,上传到苹果开发者中心【多个开发者,可能需要算法进行匹配】

  3. 如何将包含UDID列表的描述文件下载下来

  4. 如何使用下载的描述文件重新签名ipa包

大概流程图如下:
udid获取到签名安装流程图

1.获取udid可以查看本人这篇博客 获取UDID
2.第二步上传开发者,和第三步下载描述文件,参考苹果开发者api接口 苹果开发者api接口
3.如何重签ipa,需要借助工具zsign 进行签名

以上都是基于Linux操作,方便快捷

遇到的问题:

问题一,api信息有误或被封或接口有误
{
        "errors": [{
                "status": "401",
                "code": "NOT_AUTHORIZED",
                "title": "Authentication credentials are missing or invalid.",
                "detail": "Provide a properly configured and signed bearer token, and make sure that it has not expired. Learn more about Generating Tokens for API Requests https://developer.apple.com/go/?id=api-generating-tokens"
        }]
}

这种错误一般有三种:

  • api证书或者其他信息有误
  • 该开发者被苹果封掉了
  • 苹果更新api参数了,需要去查看并修改为最新的接口
问题二,苹果更新开发协议,需要同意
{
  "errors" : [ {
    "id" : "6YHC2PB2QWSAV5XXXEEEG2KL4Y",
    "status" : "403",
    "code" : "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED",
    "title" : "A required agreement is missing or has expired.",
    "detail" : "This request requires an in-effect agreement that has not been signed or has expired.",
    "links" : {
      "see" : "/agreements"
    }
  } ]
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值