你把一套精修过的截图上传到 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 2732 | 2732 x 2048 |
| 13 英寸(M4,第 7 代) | 2064 x 2752 | 2752 x 2064 |
| 11 英寸(3-5 代) | 1668 x 2388 | 2388 x 1668 |
| 11 英寸(M4,第 5 代) | 1668 x 2420 | 2420 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 上限。