2026年4月20日 · 10 分钟阅读

How to Upload Screenshots to App Store Connect (2026 Guide)

上传 App Store 屏幕截图仍然是发布 iOS、iPadOS 或 macOS 应用时最繁琐的环节之一。苹果支持 每个平台有多种显示类型 并且每个语言都有自己的插槽,因此即使是一个小应用,每次发布最终也可能需要推送 80-200 个文件。本指南介绍了 2026 年将屏幕截图上传到 App Store Connect 的四种 实用方法、何时选择每种方法,以及如果不提前了解就会浪费整个下午时间的注意事项。

选项 1:App Store Connect 网页上传器

默认路径。在 App Store Connect 中打开您的应用,选择要编辑的版本,滚动到屏幕截图,然后将 PNG 或 JPEG 文件拖入 正确的显示类型分区(6.9 英寸、6.5 英寸、13 英寸 iPad、Mac 等)。 对每个语言重复此操作。

  • 适合: 首次提交、只有一两个语言的小型应用,或者当您需要精确预览审核人员将看到的内容时。
  • 不适合: 任何多语言应用、任何具有超过几种显示类型的应用,或任何您需要在每次发布时重复的工作流。每个语言拖放 30 分钟会快速累积。

常见问题:

  • 显示类型错误。如果导出的文件尺寸是 1320 × 2868(iPhone 16/17 Pro Max,6.9")并且您将其放入 6.5" 分区,App Store Connect 将拒绝该上传。
  • 版本已锁定。一旦版本进入“正在审核”或“等待开发者发布”状态,屏幕截图将变为只读。请先创建一个新版本。
  • 部分上传。如果替换工作流中途失败,请在提交前验证完整的显示类型集,而不是假设旧的图片集仍然完好无损。

选项 2:Transporter 或 Fastlane Deliver

这两个工具都实现了 App Store Connect 交付的自动化,但在打包和配置方面有不同的权衡。

Transporter 是苹果提供的一个免费实用工具,用于交付构建版本和元数据包。它支持脚本化,但前提是您已经拥有一个包含元数据 XML 且兼容 iTMSTransporter 的文件夹结构。如果您已经使用 xcodebuild 构建 IPA 包,那这很棒;但如果您只想上传屏幕截图,那就显得很繁琐。

fastlane deliver 是社区标准。您将屏幕截图保留在类似于 fastlane/screenshots/zh-CN/iPhone 6.9 - 01.png 的文件夹结构中并运行 fastlane deliver。它会一并上传屏幕截图、元数据和关键词。

  • 适合: 已经拥有 CI 流水线、希望在 git 中跟踪屏幕截图上传,并且不介意 Ruby 的团队。
  • 不适合: 不想维护 Ruby 工具链的设计师,以及任何希望在上传之前通过 GUI 预览将要上传的内容的人。

常见问题:

  • 分辨率和命名至关重要。fastlane 可以从图像分辨率推断出显示目标,对于有些定义模糊的 iPad 系列,可能需要在文件名中包含苹果的显示系列名称,才能被正确放入对应的屏幕截图槽位。
  • App Store Connect API 密钥必须生成一次并安全存储(Key ID、Issuer ID 和 .p8 文件)。丢失 .p8 意味着需要重新生成。
  • 替换是“全或无”。在上传新截图之前,目标显示类型中的每个现有屏幕截图都将被删除。

选项 3:直接调用 App Store Connect API

如果您要自己开发工具, App Store Connect API 通过三个端点公开了屏幕截图上传:

  1. POST /v1/appScreenshotSets — 为特定的显示类型和本地化创建屏幕截图集。
  2. POST /v1/appScreenshots — 创建屏幕截图预留,返回上传操作的元数据(分块 PUT URL)。
  3. PATCH /v1/appScreenshots/{id},附带 uploaded: true — 在所有分块推送完后提交上传。

您可以使用由 .p8 密钥签名的 JWT 进行身份验证。授权 JWT 的有效期很短(最多 20 分钟),并且作用域限定在 App Store Connect API 受众。苹果还会限制过于频繁的上传频率,因此分块并发上传需要实现重试/退避策略。

适合: 构建自定义自动化或工具。您可以获得完全的控制权、类型安全的响应,并且可以围绕上传流程构建用户体验。

不适合: 只想发布产品而不愿维护工具的人。在它稳定运行之前,预计要花费一个周末的时间来处理身份验证、分块上传和错误处理。

选项 4:自动为您上传的设计工具

这就是我们内置于 Screenshot Bro 中的工作流。您设计屏幕截图、添加语言、自动翻译文案,然后点击 上传到 App Store Connect。该应用会:

  • 根据您的模板尺寸自动检测正确的显示类型(1320 × 2868 → iPhone 6.9",2064 × 2752 → iPad 13"等)。
  • 将您的项目语言与所选版本上的 App Store Connect 本地化语言进行匹配。不匹配的情况会提前指出。
  • 运行预检 —— 尺寸过大的文件、缺失的语言、已锁定的版本或平台冲突会在苹果看到任何内容之前显现出来。
  • 原子化替换每个匹配的图片集。没有替换了一半的尴尬状态,也不用手动重命名文件夹。

API 密钥(Issuer ID、Key ID、.p8)只需一次性存储在 macOS 的 Keychain(钥匙串)中。配置完成后,之后的每次发布都只需一键完成。

您应该选择哪种方案?

一个粗略的决策树:

  • 单一语言、单一应用、很少更新。 网页上传器就足够了。
  • CI 流水线、git 跟踪的屏幕截图、传统 Ruby 团队。 fastlane deliver。
  • 自定义工具 / 内部自动化。 直接使用 API。
  • 独立开发者或小型团队,自己设计并提交屏幕截图。 使用能将设计和上传整合进同一个流程的原生 Mac 和 iPad 应用。

上传之前:检查清单

无论您选择哪种路径,以下都是最耗费时间的错误:

  • 您的屏幕截图尺寸必须完全符合 支持的尺寸 —— 像素不能有半点偏差。苹果可能会在上传或处理过程中拒绝不匹配的文件。
  • 所选的 App Store 版本是可编辑的(不是“正在审核”或“等待开发者发布”)。
  • 您计划上传的每个语言,都必须在所选版本上启用了相匹配的 App Store Connect 本地化语言。
  • 仅支持 PNG 或 JPEG。不支持 HEIC、WebP 以及渐进式 JPEG。
  • RGB 色彩空间,并且截图不能包含 alpha 通道。

简而言之 (TL;DR)

对于任何重复性的操作,网页上传器都是最无趣的选择。对于频繁交付的团队来说,fastlane 是默认选项。直接使用 API 很强大,但需要花费一个周末的工作量。如果您想直接从设计应用一键上传,这正是 Screenshot Bro 研发 上传到 App Store Connect 功能的初衷 —— 自动检测显示类型、语言匹配、预检,并且只需一个存储在钥匙串中的 API 密钥。

在一个工具中设计并上传您的 App Store 截图 —— 无需拖放,无需维护 fastlane。

在 App Store 获取

查看演示