苹果超级签名实现分析

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

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

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

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

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

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

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

  1. 如何获取UDID

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

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

  4. 如何使用下载的描述文件重新签名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"}} ]
}

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

  1. 群签名和环签名的区别_苹果企业签名和苹果超级签名的区别

    iPhone使用的用户越来越多,现在苹果APP的签名业务也逐渐成熟,苹果签名可以解决APP上架问题上架APP非常的漫长并且非常的严格,现在除了苹果企业签名还有了苹果超级签名,不过这两种签名之间又有什么 ...

  2. 苹果签名是什么意思_什么是Apple iOS苹果超级签名?怎么做?

    如何找到合适的超级签名服务提供商?可以制作Apple Super Signature苹果超级签名呢?让我们与迪迦签名小迪一起看看以下内容. 什么是超级签名? 超级签名使用由Apple开发人员的个人帐户 ...

  3. 苹果在线签名服务器搭建,苹果超级签名系统搭建

    苹果超级签名就是通过个人开发者账号添加苹果设备UDID,然后打包进行真机测试的过程.也就是苹果应用内测. 目前苹果超级签名除了寻找第三方服务外,也可以自己搭建一个属于自己的超级签名系统,自己控制开发者 ...

  4. 高通Android智能平台环境搭建_编译流程分析

    高通Android智能平台环境搭建_编译流程分析 高通平台环境搭建,编译,系统引导流程分析 TOC \o \h \z \u 1. 高通平台android开发总结. 7 1.1 搭建高通平台环境开发环境 ...

  5. 高通android智能平台环境搭建_编译流程分析,高通平台环境搭建,编译,系统引导流程分析参考...

    高通有两个cpu,他们分别跑不同的系统,应用程序(ap)端是android系统,modem 端是高通自己的系统. 要编译出可供烧写使用的镜像文件需要三部分代码: 1) 获取经过高通打补丁的 andro ...

  6. iOS超级签名流程及代码(php版本)

    1,首先要获取用户唯一识别码udid,代码如下: //获取UDID public function get_udid() { $data = file_get_contents('php://inpu ...

  7. 苹果签名分发系统需要什么配置的服务器呢,苹果/IOS超级签名分发系统

    做过ios内部测试分发的开发人员应该熟悉超级签名,这是ios内部测试分发中经常使用的一种签名方法.它允许苹果应用程序直接安装在苹果手机上,而无需通过应用商店.超级签名分发系统是一个超级签名的平台系统. ...

  8. 苹果ios超级签名源码包java版带分发页面支持安卓合并

    苹果超级签名是什么我就不在赘述了,项目由java+vue开发 功能: 1.支持登录注册,拥有共有池,可上传证书等基本操作,支持用户自行上传证书 2.支持修改分发页面轮播图,简介,安卓合并 3.ipa签 ...

  9. 苹果怎么把某个app隐藏_苹果app超级签名是什么?超级签名设备用不完怎么办?...

    超级签名作为未上架app使用的内测签名方式,继企业签名后超级签名的需求度一直很高.可是ios超级签名签名内测需要用到个人证书证书,其实不论是企业证书还是个人证书,市场情况下申请都不算太容易,这种情况下 ...

最新文章

  1. [转] android自动化之MonkeyRunner测试环境配置(一)
  2. kubernetes 1.14安装部署helm插件
  3. 洛谷P1119 灾后重建 图论 脑洞题
  4. audio 小程序 放大_码code | 小程序新能力释放,人人都能拥有对话机器人
  5. HDU 6071 Lazy Running (最短路)
  6. 贾扬清演讲实录:一个AI开发者的奇幻漂流
  7. 2013流行Python项目汇总
  8. RocketMQ源码解析-PushConsumer(1)
  9. java定义属性时用this_(转载)深入Java关键字this的用法的总结
  10. blogic-io.xml文件中的出力属性和output.javabean文件中的属性需要一一对应
  11. docker 搭建nginx php mysql_docker搭建nginx+mysql+php
  12. 房产证和不动产权证有什么区别?
  13. 消防工程师 10.1 火灾自动报警系统-组成和工作原理
  14. matlab 离散点求导_如何用matlab求离散型数值的导数
  15. 脱壳-ASPack 2.12
  16. CMakeLists.txt范例
  17. 关于最新版mumu模拟器(2.2.16)安装xposed框架
  18. Redis3.0的主从、集群高可用
  19. html可以自学吗,javascript可以自学吗?
  20. 计算机毕业设计ssm高校求职招聘智能推荐1875f系统+程序+源码+lw+远程部署

热门文章

  1. Linux安装iso镜像中的软件
  2. Unity自定义创建文件夹
  3. WR720N改造记录1
  4. 硬盘备份到新电脑,你需要知道这个技巧
  5. VS中C++解决方案中多个项目文件的引用
  6. 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...
  7. 反素数 Antiprime(信息学奥赛一本通 1625)(洛谷 1463)
  8. android学生成绩查询代码,android学生成绩查询系统.pdf
  9. memmove函数c语言实现,【C语言】实现memcopy、memmove函数
  10. php找爸爸,暖哭!萌娃外滩找爸爸:“他两天没回家”