用于签署 iOS 代理的 API
本主题介绍如何使用 API 调用使用多个 Apple 帐户自动签署代理应用程序。然后,您可以为不同的设备使用不同的 iOS 帐户。本主题仅适用于 UFT Digital Lab。
注: 这些 API 在将来的 Digital Lab 版本中可能会更改并破坏向后兼容性。
概述
使用 API,您可以通过上载预配配置文件和 iOS 证书来创建资产集。创建集之后,代理应用程序会自动使用上载的文件重新签名,并且资源集将分发到全部连接的连接器。资源集包含新签名的代理应用程序和 UDID 列表。将新的或更新的资源集分发到连接器后,未连接到 UFT Digital Lab 服务器的任何设备都会尝试再次使用新分发的代理进行连接。
先决条件
确保已为 iOS 设置了自动应用程序代码注入和签名服务。有关详细信息,请参阅自动签名服务
日志英寸
会话中的第一个 REST API 请求必须是登录请求。有关详细信息,请参阅在 REST API 文档中登录。
对于后续 API 请求,请使用登录响应标头中的 x-hp4msecret 和 cookie。
创建资源集
这将在 Digital Lab 服务器上创建资源集。资产集由签名的代理应用程序 , 和可安装应用程序的设备列表 (取自用于签署代理的预配配置文件) 组成。要更新现有资源集,请调用更新资源集。
方法: POST/rest/v2/assets
请求正文: 多部分
- file application/octet-stream zip 文件,其中包含 iOSDeveloper 证书和匹配的预配配置文件。证书和预配配置文件的团队 ID 必须相同。
- assetDetails application/json {" name": " name" ," password": " 123456"}。
键 详细信息 名称 提供资产名称 密码 iOS 开发人员证书的密码
响应
状态 | 详细信息 |
---|---|
200 | 成功 |
400 | 错误的请求。名称已存在,证书或预配配置文件无效 |
500 | 服务器错误 |
主体 (示例):
{
" name": " name" ,
" groupId": " xxx" ,
" certificate ExpirationDate": " xxxx" ,
" udid": [
" udid1",
" udid2"
]、
“ signingId ”:” dddd-ddd ”
}
上载的文件用于对代理应用程序进行签名,资源集将通过自动 API 调用分发到连接的连接器。签名 ID 可用于标识应用程序的签名和分发到连接器的状态。
更新资源集
更改资产集的证书和预配配置文件。更改资源集时,代理将使用新资产重新签名,并分发到连接到 Digital Lab 服务器的全部连接器。
方法: PUT/rest/v2/assets
请求正文: 多部分
- file application/octet-stream zip 文件,其中包含 iOSDeveloper 证书和匹配的预配配置文件。证书和预配配置文件的团队 ID 必须相同。
- assetDetails application/json {" name": " name" ," password": " 123456"}。
键 详细信息 名称 提供资产名称 密码 iOS 开发人员证书的密码
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
400 | 错误的请求。无法按名称查找资产 , 证书无效或预配配置文件 |
500 | 服务器错误 |
主体 (示例):
{
" name": " name" ,
" groupId": " xxx" ,
" certificate ExpirationDate": " xxxx" ,
" udid": [
" udid1",
" udid2"
]、
“ signingId ”:” dddd-ddd ”
}
删除资源集
删除资源集 (如果不再需要) 。资源集将从 Digital Lab 服务器以及连接器中移除。使用已删除资产集中的代理的已连接设备不会断开连接。
方法: DELETE/rest/v2/assets/{name}
请求正文: 否主体
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
400 | 资产不存在 |
500 | 服务器错误 |
正文: 否响应正文。
获取所有资源集的详细信息
检索所有资产集的名称、团队 ID、证书过期日期和设备 UDID 列表。
方法: GET/rest/v2/assets
请求正文: 否主体。
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
[
{
" name": " name" ,
" groupId": " xxx" ,
" ExpirationDate": " xxxx" ,
" udids": [
" udid1",
" udid2"
]
}
{
" name": " name2" ,
" groupId": " xyz" ,
" ExpirationDate": " xxxx" ,
" udids": [
" udid3",
" udid4"
]
}
从所有资源集中获取 UDID
从所有资源集中检索所有唯一设备 ID (UDID) 的列表。
方法: GET/rest/v2/assets/udid
请求正文: 否主体。
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
[" udid1" ," udid2" ," udid3" ," udid4"]
获取签名和分发状态
通过 signingId 获取资源集的状态。创建或更新资源集时, signingId 位于响应体中。有四种状态: 空闲、签名、分发、结束。
方法: GET/rest/signature/{signingId}/status /
请求正文: 否主体。
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
500 | 服务器错误 |
主体 (示例):
{" messageCode": 0,
" message": " 0" ,
" signingId": " xxxx" ,
" 状态 ": " 分布 "}
将签名的资产分配给特定的连接器
无需手动调用此 API。创建或更新资源集后,将自动对该资源集中的代理进行签名,并将资源集分发到全部连接的连接器。
方法: PUT rest/v2/connector/{connectorId}/signedAssets
请求正文: 否主体
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
500 | 服务器错误 |
正文: 否响应正文。
分发新签名的代理
在创建新资源集或更新现有资源集后,对代理应用程序重新签名时,将资源集分布到所有接头。无需手动调用此 API。创建或更新资源集后,将自动对该资源集中的代理进行签名,并将资源集分发到全部连接的连接器。
方法: PUT rest/v2/connector/signedAssets
请求正文: 否主体
响应:
状态 | 详细信息 |
---|---|
200 | 成功 |
500 | 服务器错误 |
正文: 否响应正文。