要实现在提交审核后自动发布/更新应用程序并使用“手动发布此版本”的功能,你可以使用 App Store Connect API 来完成。以下是一个示例代码,演示了如何使用 Python 的 requests 库来调用 App Store Connect API。
import requests
import json
def auto_release_app(bundle_id, version):
# 构建 API 请求的 URL
url = "https://api.appstoreconnect.apple.com/v1/builds"
# 设置请求头部信息
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
# 构建请求体参数
payload = {
"data": {
"type": "builds",
"attributes": {
"bundleId": bundle_id,
"version": version
}
}
}
# 发起 POST 请求
response = requests.post(url, headers=headers, data=json.dumps(payload))
# 检查响应状态码
if response.status_code == 201:
# 解析响应数据,获取 build ID
build_id = response.json()["data"]["id"]
# 发起上架请求
release_build(build_id)
else:
print("自动发布应用失败")
def release_build(build_id):
# 构建 API 请求的 URL
url = f"https://api.appstoreconnect.apple.com/v1/builds/{build_id}/relationships/preReleaseVersion"
# 设置请求头部信息
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
# 构建请求体参数
payload = {
"data": {
"type": "appStoreVersions",
"attributes": {
"versionString": "手动发布此版本"
}
}
}
# 发起 PATCH 请求
response = requests.patch(url, headers=headers, data=json.dumps(payload))
# 检查响应状态码
if response.status_code == 201:
print("应用发布成功")
else:
print("应用发布失败")
# 调用函数,传入 bundle ID 和版本号
auto_release_app("com.example.app", "1.0.0")
在上述代码中,你需要将 YOUR_ACCESS_TOKEN
替换为你自己的 App Store Connect API 的访问令牌。此外,你还需要提供应用的 bundle ID 和版本号作为参数传入 auto_release_app
函数中。
该代码将首先通过 App Store Connect API 创建一个构建(build),然后使用该构建的 ID 发起一个 PATCH 请求,将其与一个新的 App Store 版本关联起来。这个新版本的名称将设置为 "手动发布此版本",以实现手动发布的目的。
请注意,使用 App Store Connect API 需要先获取访问令牌,具体获取方法可以参考官方文档。