跳转到主要内容

Apple App Store Connect API的包装器

项目描述

asconnect

asconnect是围绕Apple App Store Connect REST API的Python包装器。

此包装器并不涵盖所有API,但涵盖了基本功能,包括

  • 上传构建
  • 创建新的TestFlight版本
  • 设置TestFlight审查信息
  • 创建新的应用商店版本
  • 设置应用审查信息
  • 提交应用审查

入门指南

安装

该软件包可在PyPI上找到,因此您可以通过运行pip install asconnect来获取最新版本。

创建客户端

首先,您需要生成密钥,然后获取其ID、密钥本身的内容和发行者ID。

一旦您拥有了这些,您可以通过运行来创建一个新的客户端

client = asconnect.Client(key_id="...", key_contents="...", issuer_id="...")

获取您的应用

大多数操作都需要应用标识符。这不同于您选择的应用程序包ID,而是由苹果生成的ID。获取它的最简单方法是运行此代码

app = client.app.get_from_bundle_id("com.example.my_bundle_id")

上传构建

上传构建不是App Store Connect API的一部分,但是包含了一个围绕altool的包装器,以尽可能简化操作。让我们为您的应用程序上传一个构建

client.build.upload(
  ipa_path="/path/to/the/app.ipa",
  platform=asconnect.Platform.ios,
)

如果您想等待您的构建完成处理

build = client.build.wait_for_build_to_process("com.example.my_bundle_id", build_number)

build_number是您在创建构建时给出的构建号。应用商店使用它来识别构建。

应用商店提交

让我们用这个构建创建一个新的应用商店版本并提交它

# Create a new version
version = client.app.create_new_version(version="1.2.3", app_id=app.identifier)

# Set the build for that version
client.version.set_build(version_id=version.identifier, build_id=build.identifier)

# Submit for review
client.version.submit_for_review(version_id=version.identifier)

就这么简单。大多数时候至少是这样的。如果您没有从先前版本继承信息,您将需要设置截图、审稿人信息等。所有这些都可以通过这个库来完成。

分阶段分发

# Create a new version
version = client.app.create_new_version(version="1.2.3", app_id=app.identifier)

# Start a versions' phased release, the initial state of which is INACTIVE
phased_release = client.version.create_phased_release(version_id=version.identifier)

# Check on a phased release
phased_release = client.version.get_phased_release(version_id=version.identifier)

# Advance or modify a phased release
phased_release = client.version.patch_phased_release(phased_release_id=phased_release.identifier, phased_release_state=PhasedReleaseState.active)
phased_release = client.version.patch_phased_release(phased_release_id=phased_release.identifier, phased_release_state=PhasedReleaseState.pause)
phased_release = client.version.patch_phased_release(phased_release_id=phased_release.identifier, phased_release_state=PhasedReleaseState.complete)

# Delete
client.version.delete_phased_release(phased_release_id=phased_release.identifier)

入门指南

对于开发,asconnect使用poetry

贡献

此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com

当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,状态检查,评论)。只需遵循机器人提供的说明即可。您在整个使用我们的CLA的存储库中只需这样做一次。

此项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或联系opencode@microsoft.com以提出任何其他问题或评论。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

asconnect-3.0.6.tar.gz (25.1 kB 查看哈希)

上传时间

构建分发

asconnect-3.0.6-py3-none-any.whl (35.5 kB 查看散列值)

上传时间 Python 3

由以下支持