App Store 截图尺寸不符合 iPad Pro 要求 —— 修复指南

App Store Connect 因 Invalid Screenshot Dimensions 拒掉 iPad Pro 截图,原因是每代设备对应严格的像素尺寸。给出对照表并修复。

你把一套精修过的截图上传到 App Store Connect → App 信息 → 对应语言 → 屏幕截图,拖进 12.9 英寸 iPad Pro 那个槽位,屏幕上立刻飘出红条:“Invalid Screenshot Dimensions. Please make sure the screenshots are 2048 x 2732, 2732 x 2048, 2048 x 2752, or 2752 x 2048 pixels.” 你从 Figma 的”iPad Pro”预设导出,看着像那么回事;改用 Xcode 模拟器截图还是被拒。iPad Pro 是 App Store Connect 上拒得最多的截图尺寸类,因为苹果按方向各保留四种必需像素尺寸,“12.9 英寸”这个叫法横跨两代硬件,而设计工具的”iPad Pro”预设也常常不对。

常见原因

按频次排序。

1. 把 12.9 英寸的尺寸传到了新的”13 英寸”槽(M4,2024+)

2024 年苹果把 iPad Pro 截图槽位拆成了两个:

  • 12.9 英寸 iPad Pro(第 6 代):2048 x 2732(竖)/ 2732 x 2048(横)
  • 13 英寸 iPad Pro(M4,第 7 代):2064 x 2752 / 2752 x 2064

只差 16 / 20 像素,但不能互通。

如何识别:你的截图是 2048 x 2732,但被拒的是 13 英寸 M4 槽。

2. Figma 用了”iPad Pro”预设却没看实际像素

Figma、Sketch、Adobe XD 的”iPad Pro”预设默认是 1366 x 1024 (不是像素)。不在 2x 下导出的话出来就是 1366 x 1024 像素 —— 只有所需分辨率的一半。

如何识别:图像信息显示 1366 x 1024 或 1024 x 1366,而不是 2048 x 2732。

3. 截图里意外带了状态栏或设备外壳

模拟器的截图工具有时会捕捉到模拟器自身的外壳(圆角、底部 home 提示条)。App Store Connect 会拒掉带设备框的截图。

如何识别:截图边缘能看到圆角或一圈黑色 bezel。

4. 裁剪之后比例错了

你截了整屏然后裁掉状态栏,剩下的是 2048 x 2680 —— 不属于任何要求的尺寸,App Store Connect 拒。

如何识别:像素接近但不对(比如 2048 x 2680 而不是 2048 x 2732)。

5. JPEG 处理后 metadata 被剥,像素数差一点

某些处理流水线会把 EXIF 剥掉,OS 报告的尺寸略有出入(比如 2049 x 2733)。App Store Connect 的解析器很严格。

如何识别sips -g pixelWidth -g pixelHeight screenshot.jpg 显示差 1 或差几个像素。

6. 把 11 英寸 iPad Pro 截图传到 12.9 槽

11 英寸 iPad Pro 要求 1668 x 2388 / 2388 x 1668(新机型是 1640 x 2360 / 2360 x 1640)。这些不能用在 12.9 英寸槽。

如何识别:图是 1668 x 2388,但拖进了 12.9 英寸槽。

7. PNG 色彩 profile 或 alpha 通道问题

带透明度的 PNG、或者 P3 色彩空间,有时会让尺寸解析器困惑。sips 看尺寸是对的,但 App Store Connect 仍以尺寸错误拒掉。

如何识别sips 显示尺寸正确,但 App Store Connect 仍报通用尺寸错。重新导出成平的 sRGB PNG 就能解决。

开始之前

  • 翻一下苹果当前的尺寸表;每次有新的 iPad Pro 硬件发布苹果都会更新。截至 2025 年权威清单在 App Store Connect Help → Screenshot specifications。
  • 看清 App Store Connect 拒的是哪个槽位;槽位标签直接告诉你用哪一行尺寸。
  • 决定你需不需要同时备 12.9 和 13 英寸两套,或者一套加 fallback 就行。

需要收集的信息

  • 被拒文件的精确像素:sips -g pixelWidth -g pixelHeight myshot.png
  • 方向(竖/横)—— App Store Connect 是分开校验的。
  • 来源:模拟器截图、Figma 导出、营销渲染等。
  • App Store Connect 中目标槽位的具体名字(例如”iPad Pro (3rd Generation) 12.9-inch Display”)。
  • 色彩 profile 和格式:sips -g all myshot.png | grep -E "format|profile|space"

修复步骤

步骤 1:确定槽位对应的目标尺寸

iPad Pro 截图参考表(截至 2025):

设备类别竖屏横屏
12.9 英寸(3-6 代)2048 x 27322732 x 2048
13 英寸(M4,第 7 代)2064 x 27522752 x 2064
11 英寸(3-5 代)1668 x 23882388 x 1668
11 英寸(M4,第 5 代)1668 x 24202420 x 1668

槽位标签对到表中某一行,再按那一行的精确像素导出。

步骤 2:从对的模拟器出图

打开 Xcode → Window → Devices and Simulators → Simulators → + Create New → 选 iPad Pro 12.9-inch (6th generation) 对应 12.9 槽,或 iPad Pro 13-inch (M4) 对应 13 英寸槽。跑 App、导航到目标页面,然后:

Device → Trigger Screenshot

模拟器把 PNG 存到桌面,尺寸正好满足要求。用 sips 验证:

sips -g pixelWidth -g pixelHeight ~/Desktop/Simulator\ Screenshot\ *.png

步骤 3:Figma / 设计工具导出时显式设帧像素

Figma 里建一个按像素的 frame:

Frame size: 2048 x 2732 px (not points)
Export at: 1x PNG

常见误区:frame 设成 1024 x 1366 点然后 2x 导出。对代码里 retina 资源没问题,但导出 PNG 的像素必须是精确 2048 x 2732,不能四舍五入。

步骤 4:用 sips 或 ImageMagick 剥掉设备外壳

截图里有状态栏残留或圆角时:

sips --cropToHeightWidth 2732 2048 input.png --out output.png

或者精确指定 offset:

sips --cropOffset 0 0 --cropToHeightWidth 2732 2048 input.png --out output.png

验证结果:

sips -g pixelWidth -g pixelHeight output.png
# pixelWidth: 2048
# pixelHeight: 2732

步骤 5:把 PNG 色彩 profile 拍平到 sRGB

某些 App Store Connect 上传会因 P3 或 RGBA 失败。转换:

sips --setProperty format png --setProperty profile sRGB \
  input.png --out output.png

也可以用 ImageMagick 同时把 alpha 拍平:

magick input.png -background white -flatten \
  -colorspace sRGB -depth 8 output.png

步骤 6:重新上传,留意槽位特定的校验提示

App Store Connect → App 信息 → 屏幕截图 → 把修好的文件拖进对应槽位。这个拖拽区在客户端就校验尺寸;接受了就是对的。如果还拒,提示文字会告诉你期望尺寸 —— 拿到 bash 里再算一遍重新导出。

步骤 7:把导出流水线脚本化

一段小 Makefile 或 shell 脚本能省下后面十次手工:

#!/bin/bash
# export-screenshots.sh
SLOTS=("ipad-pro-12.9:2048x2732" "ipad-pro-13:2064x2752" "ipad-pro-11:1668x2388")
for slot in "${SLOTS[@]}"; do
  name="${slot%%:*}"
  size="${slot#*:}"
  for src in raw/$name-*.png; do
    out="export/$(basename $src)"
    sips -z ${size#*x} ${size%x*} "$src" --out "$out"
    sips -g pixelWidth -g pixelHeight "$out"
  done
done

每次截图完跑一遍,输出就是 App Store Connect 直接可用。

验证

  • 每一张上传的截图像素都精确符合所在槽位(用 sips -g pixelWidth -g pixelHeight 检查)。
  • App Store Connect 接受文件,不再有红条尺寸警告。
  • 每种语言 locale 的截图都补齐了每个必需槽位(缺时苹果会从英文继承,但截图里有翻译文案时必须每个 locale 都上)。
  • 在 App Store Connect → 在 App Store 上浏览预览中,截图正常显示,没有黑边。

长期预防

  • 写一段截图导出脚本,把当前苹果的尺寸表硬编码进去;每次苹果发新硬件更新一次。
  • 把 Xcode 模拟器截图当作 source of truth —— 这是保证尺寸正确的最稳路径。
  • 别用 Figma 的”iPad Pro”预设;始终按精确像素建 frame。
  • 把 2x 原始导出留在版本管理里,未来苹果加新设备类别时方便重新裁。
  • 每个版本的截图存到 <version>-<locale>-<device-class>/ 命名的目录里,方便审计。
  • WWDC 苹果一发布新 iPad Pro,预计 3 个月内就会多一个截图槽位;在提交前更新导出流水线。相关 metadata 问题参考App Store 截图 metadata 问题

常见坑

  • 把 1920 x 2560 的截图传到 2048 x 2732 槽并以为”差不多”—— App Store Connect 是拒,不是警告。
  • 在同一个 locale 的同一槽位里同时塞竖屏和横屏;部分槽位要求该 locale 全竖或全横。
  • 加苹果旧时代的设备外框 —— 当前规则明确不允许带设备 chrome。
  • 忘了 App Store Connect 在 App 同时支持竖横屏时,对部分槽位要求两种方向都上。
  • 让设计工具按”1.5x”或”2.5x”缩放导出;只有”按 1x 导出精确尺寸的 frame”才能产生准确像素。
  • 修完之后传错文件 —— App Store Connect 有缓存,要确认新缩略图真的显示出来了。

FAQ

Q:12.9 英寸和 13 英寸截图都得交吗?

苹果当前要求支持 iPad 的 App 至少交一套 iPad Pro 尺寸。大多数团队只交 13 英寸(最新硬件),让苹果给老 iPad 下采样。如果 12.9 英寸有特别的 UI,那就两套都交。

Q:我的 App 只支持竖屏,需要交横屏截图吗?

不需要。只交你支持的方向。竖屏 App 交横屏截图,审核员可能因不一致标记。

Q:能用营销渲染图代替真实截图吗?

可以加营销文案叠加,但不允许加设备外框,且底层 App UI 必须真实 —— 审核员会与 App 实际行为对照。带假功能的风格化渲染是 4.3 拒信的典型。

Q:苹果为什么要求这么多尺寸?不能下采样吗?

没匹配槽位时苹果确实会下采样,但专属槽位让你能控制每种设备的裁剪,并保证 Retina iPad 上清晰。靠下采样的截图在视网膜屏 iPad 上看着模糊。

Q:App Store Connect 支持 WebP 或 HEIC 截图吗?

不支持 —— 只支持 PNG 和 JPEG。照片重的截图传 JPEG,UI 重的传 PNG。单文件 8 MB 上限。

相关阅读

标签: #排查 #App Store #截图 #ipad-pro #Metadata