搜索结果

×

搜索结果将在这里显示。

如何解决无法验证的问题?

1. 背景

背景:苹果开发者测试证书,对于APP的测试签名安装是有限度的,如果你进行大量的测试安装,就会出现以前企业证书遇到的同样问题,也就是“无法验证:Iphone/Apple Distribution:xxxxxx” (注:“无法验证完整性”为udid与手机不匹配/安装地址错误/签名算法错误等,不属于此列)

2. 声明

对于每个证书,我们将提供两个额外的标识符进行实时更换,如果你将额度使用完毕,我们将不再提供。
不建议一次把所有备用bundle描述生成出来同时进行使用,如果你这么做了,全出无法验证的概率会大大增加。

3.适用范围

目前仅支持9.24(含)之后新出的秒出系列版本更换

4.更换方式

通过页面更换

1). 进入2.0设备管理页面

2). 选择一个可用的标识符

3). 按钮说明:
“下载”:直接下载描述文件更换文件即可
“切换”:在站点数据库中替换为新的描述文件,用户再从站点下载证书/简易签名/接口获取证书等均会使用切换后的证书

通过接口更换

注:
1). 1.0接口的code返回值成功为1,2.0接口的code返回值成功为0,建议0,1都认为成功
2). 1.0接口返回msg, 2.0接口返回message, 获取错误信息的时候请注意
3). status枚举值为available/current/used,available代表从未生成过, current代表当前数据库存储的, used为曾经为current,被切换过的(理解为使用过). 调用change bundle(切换bundle描述)会更新status的枚举值,全量获取get bundle不会更新status枚举值
4). 当前1.0系统80%的接口都是直接透传给2.0(包括以下接口),当完成度为100%时,1.0将被废弃,建议优先选择2.0接口

1). 1.0接口

/api/bundle/getBackupBundle
POST
{
    "kid": "xxxx", // 必填
    "token": "xxxx", // 必填
    "only_bid": 1/0,  // 0会生成描述文件一起返回,1不返回描述文件
    "bundle_id": "xxx", // 可选,指定标识符(通过指定only_bid为1,可以拿到可备份的所有标识符ID, 而不返回描述文件)会只返回特定标识符+描述文件
}

返回值:
{
    "code": 1,
    "msg": "",
    "data": [
        {
            "bundleid": "V2PLP3753L",
            "status": "available",
            "mobileprovision": "如果指定only_bid为1该项不会返回"
        },
        {
            "bundleid": "9T7U57986T",
            "status": "current",
            "mobileprovision": "如果指定only_bid为1该项不会返回"
        },
        {
            "bundleid": "FWQ7SMVDFA",
            "status": "available",
            "mobileprovision": "如果指定only_bid为1该项不会返回"
        }
    ]
}
/api/bundle/changeBackupBundle
POST
{
    "kid": "xxxx", // 必填
    "token": "xxxx", // 必填
    "bundle_id": "xxx", // 必填
}

返回值:
{"code":1,"msg":"","data":{"success":true,"message":"描述文件切换成功"}}

本接口会替换站点数据库中的描述文件,切换后可指定bundle_id调用getBackupBundle,或直接调用getcertificate接口

2). 2.0接口

注:2.0的验参为header头中添加Authorization: "Bearer 你的token", 或直接在参数中增加token参数("token": "xxxx", // 必填), 推荐使用前者, 我不懂后者是什么规范,仅仅是为了兼容1.0/2.0系统的快速切换

/api/v1/public/device/backup-mp
POST
{
    "udid": "xxxx",  // udid要和kid匹配,2.0校验比较严格
    "device_id": "xxxx", // 就是kid
    "only_bid": 1/0, //同1.0
    "bundle_id": "" //同1.0
}

返回值:
{
    "code": 0,
    "message": "",
    "data": [
        {
            "bundleid": "V2PLP3753L",
            "status": "available"
        },
        {
            "bundleid": "9T7U57986T",
            "status": "current"
        },
        {
            "bundleid": "FWQ7SMVDFA",
            "status": "available"
        }
    ]
}
/api/v1/public/device/change-mp
POST
{
    "udid": "",
    "device_id": "", //kid
    "bundle_id": "",  // 所有参数必填
}

返回值:
{"code":0,"message":"","data":{"success":true,"message":"描述文件切换成功"}}