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

苹果超级签名实现分析

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

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

使用企业包

使用adhoc包

使用苹果自家的TestFlight

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

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

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

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

如何获取UDID

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

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

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

大概流程图如下:

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"

    }

  } ]

}

文章引用:https://xiafenfa.com/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的皮皮虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值