
很多人在模拟器里按 ⌘S,发现画面顶部多了一块黑药丸,于是去搜 模拟器截图灵动岛 发黑怎么办;换到真机再截,小岛又不见了。另一边,App Store Connect 还写着必须上传「iPhone with Dynamic Island (medium display) / 配备动态岛的 iPhone(中显示)」。这三件事经常被混成一句「截图里一定要露出灵动岛」。
今天(2026-11-11)对照的是苹果官方 Screenshot specifications。规范里写的是可接受的像素、格式(.jpeg / .jpg / .png)以及不得含 alpha / 透明通道。它没有要求你在画面里画出灵动岛,也没有把「看得见黑药丸」当成审核项。
可以先记这三句:
如果后台报的是「You must upload a screenshot for iPhone with Dynamic Island (medium display)」,那是尺寸没对上必传井,请看 动态岛中屏截图报错。模拟器的文件位置、缩放和去透明,仍以 用 iOS 模拟器导出 App Store 截图 为主;本文只讲黑块、看不见小岛、以及要不要套壳。
| 项目 | 官方写法(2026-11-11 对照) |
|---|---|
| iPhone 必传 | 灵动岛中屏,至少一张:1179×2556 或 1206×2622(可横可竖,对边互换) |
| 中屏井里今天写到的机型 | 含 iPhone 18 Pro、17 Pro、17、16 Pro、16、15 Pro、15、14 Pro 等 |
| 灵动岛大屏 | 可选。可接受 1260×2736、1290×2796、1320×2868。今天规范把 iPhone 18 Pro Max、iPhone Air 等写进这一井,不是另开必传档 |
| iPad(若支持 iPadOS) | 必传 13 英寸:2064×2752 或 2048×2732 |
| 格式 | jpeg / jpg / png;不能含 alpha 或透明 |
| 缩放 | 界面在多尺寸、多语言间一致时,可只传最高必传分辨率,由 Connect 向下缩放 |
不要为了「露出小岛」发明 1200×2600 这类中间值。Connect 要的是表里的精确像素,「接近」会被拒,和有没有黑药丸无关。
在 iPhone 上直接截屏,得到的是一块完整矩形。顶部状态栏区域是正常像素,不会缺一块,也不会默认印上一颗黑岛。这是硬件结构决定的:挖孔在显示屏上,不在 framebuffer 的「抠图蒙版」里。
例外只有一种:当时系统正在灵动岛里画实时活动(计时、音乐、导航这类)。那是软件图层,会出现在截图里。如果你要展示的就是这项实时活动,应该在真实机型上把活动跑起来再截,而不是用一张静态图标去假装「岛正在动」。
下面这些差异在开发者讨论里很常见,请先当工作假设,并在你自己的 Xcode 上复核一次(菜单文案会随版本微调):
| 做法 | 常见结果 | 适合干什么 |
|---|---|---|
| Simulator 菜单 File → Save Screenshot,或 ⌘S | 常常把灵动岛 / 刘海 / 圆角区涂成黑块 | 需要「带遮罩的屏幕外观」时才用;直接上架很容易看起来像一块脏的状态栏 |
| Simulator 菜单 Device → Trigger Screenshot | 图进模拟器相册,不少人拿到的是完整矩形,没有黑块 | 更适合当商店底图。文件可能在模拟器相册里,而不是桌面,要到相册或模拟器数据目录里取 |
终端 xcrun simctl io booted screenshot | 默认行为随 Xcode 版本而变;部分版本可用 --mask | 批量脚本好用。先在本机运行 xcrun simctl io help,看清当前 mask 选项再写进脚本 |
关于 --mask:社区里常用 --mask=black 表示把挖孔区涂黑。请以你本机 xcrun simctl io help 为准,不要把某个 flag 当成永远不变的官方必选项。有两点可以确定:
⌘S 和窗口缩放无关:选对机型后,用 sips -g pixelWidth -g pixelHeight your.png 看文件像素,不要按窗口大小去拉伸交差值。
| 你的目的 | 应该怎么做 | 不要怎么做 |
|---|---|---|
| 只为填上灵动岛中屏必传槽 | 用中屏机型(今天含 iPhone 18 Pro 等)截出 1179×2556 或 1206×2622,去透明,界面真实 | 不必在画面里画出小岛;不要为了「像真机」手绘一颗位置不准的黑岛 |
| 要一张干净的 UI 底图,再加标题 | 优先用能得到完整矩形的截法,检查像素后导入 截图编辑器 | 不要把 ⌘S 留下的黑块当设计元素留在标题图里 |
| 要「带壳、看得见硬件挖孔」的营销图 | 先准备矩形底图,再在 带壳截图 或编辑器的「设备外观」里套真机框 | 不要把带黑块的模拟器图再套一层框,挖孔会叠两次 |
| 要展示 Live Activity 本身 | 在支持灵动岛的机型上把活动真正跑起来再截 | 不要用一张未运行的静态示意图去冒充实时状态 |
套壳是否直接上架,各店规则不同,见 商店截图设备框规则。不确定时,至少准备一套无框、铺满画布的矩形图。
本站编辑器可以按商店像素出图,但不会在原始截图里自动生成一颗正在跳动的灵动岛。设备框上的挖孔属于机框资源,和 ASC 要的像素井是两件事。
建议流程:
sips 或预览里的检查器确认宽高是 1179×2556 或 1206×2622。不是的话,不要随手拉伸到「差不多」;先回到对的机型再截,或按 模拟器导出指南 缩到表内精确值。可选的大屏井(今天把 iPhone 18 Pro Max 写进同一井)仍是可选,不是第二套必传。只传中屏且界面一致时,Connect 会向下缩放,见 截图自动缩放。
1179×2556 或 1206×2622,不是「看起来差不多」的自定义尺寸模拟器截图灵动岛发黑,多半是截法带上了遮罩,不是审核在要求你把小岛画出来。先对齐必传像素,再决定这张图是干净底图还是套壳营销图——这两步做对,黑块通常就不会进到产品页上。