新机一到,工单里先出现的往往不是新功能,而是「屏幕变了,这版要不要改、开发怎么报价、测试还要不要再铺一轮」。下文先对齐苹果已经写在规格页上的屏幕数字,再把开发工时和测试花费拆成两张表。单价你可以换成自己的,这里不先给总价。
规格页上,这代屏幕写了什么
iPhone 18 Pro 仍是 6.3 英寸 Super Retina XDR,2622×1206、460 ppi。iPhone 18 Pro Max 仍是 6.9 英寸,2868×1320、460 ppi。这两行和 iPhone 17 Pro 技术规格、以及上一代 6.9 英寸机型公布的网格相同。按 @3x 把像素除以 3,逻辑分辨率仍是 402×874 pt 和 440×956 pt。苹果的规格页不印 pt,这个换算是我们做的,方便对照代码里的魔法数字。
亮度也对齐上一代:典型最高 1000 尼特,HDR 峰值 1600 尼特,户外峰值 3000 尼特,最低 1 尼特。ProMotion 最高 120Hz,Always-On、P3、防反射涂层都还在。这些项不产生新的布局常量。Pro 与 Pro Max 的尺寸、续航和目录价差,见站内六项对照,不要和适配工时叠在同一格里。
变的是灵动岛。苹果 2026 年 9 月的新闻稿写它更小,并且可以同时显示三项实时活动,Face ID 仍在。新闻稿和规格页都没有给出岛的点宽度、点高度。所以「像素没变」不能直接推导成「顶部安全区的 pt 也没变」。这一步要在新模拟器里读 safeAreaInsets,不能沿用在 17 Pro 上量过的常数。
| iPhone 17 Pro / Pro Max | iPhone 18 Pro / Pro Max | |
|---|---|---|
| 像素 | 2622×1206;2868×1320。均为 460 ppi | 同一组数字。见 18 Pro 技术规格 |
| 逻辑点(像素 ÷ 3) | 402×874 pt;440×956 pt | 不变。规格页本身不印这一行 |
| 亮度与刷新 | 1000 / 1600 / 3000 尼特,最低 1 尼特;最高 120Hz | 规格页上的数字相同 |
| 灵动岛 | 有。点尺寸未在规格页单列 | 新闻稿:更小,可同时显示三项实时活动 |
岛的点尺寸,以模拟器为准
网上有「岛高出百分之几十」的说法,和苹果新闻稿里的 smaller 对不上。本文不采用任何未出现在规格页或新闻稿上的点宽、点高。
哪些 App 必须动代码
分辨率没变,不代表工单可以关掉。要分开的是「重画一套切图」和「确认安全区还认不认这块岛」。
- 约束跟着安全区,或用 SwiftUI 的安全区。通常不用为 2622×1206 重出 @3x 切图。仍要在 iPhone 18 Pro 和 Pro Max 模拟器里看竖屏、横屏,以及顶部控件有没有钻进岛里。
- 写死了宽高。
UIScreen.main.bounds、固定 402、874、440、956,或按旧岛位置裁过的开屏和全屏视频,都要改。游戏如果把帧缓冲锁在这个点尺寸上,直板 Pro 也许还能铺满,但安全区和横屏仍要看。 - 用了 ActivityKit。岛现在可以同时挂三项实时活动。紧凑态、最小态,以及你的活动和其他 App 挤在一起时的样子,要单独看。没有实时活动的 App,下面开发表里对应的人时记 0。
- 折叠的 iPhone Duo。外屏、内屏是另一块屏幕,工时不要并进下面的直板表。形态差异见站内iOS 27 机型对照。
iOS 27 还有一条和「新像素」无关、但会进测试范围的变化:WWDC26 的 Modernize your UIKit app 说明,支持的方向是交给系统的偏好;在 iPhone 镜像到 Mac 这类可调整大小的环境里,这个偏好会被忽略。布局如果靠「永远竖屏、永远这块宽」来算,要在那条路径上再看一次。
# 命中多,才把「写死布局」那一列工时算进去 rg -n "UIScreen\.main\.bounds|nativeBounds|874|402" --glob "*.swift"
开发费用怎么记
下表是一次适配直板 18 Pro / Pro Max 的人时,不含新功能,不含设计系统重做。左列是已经跟着安全区走的工程,右列是搜得到魔法数字的工程。有实时活动才保留第三行;没有就把 4 和 12 减掉。
| 开发工作包 | 已自适应 | 写死布局 |
|---|---|---|
| 两台模拟器,竖屏和横屏看安全区 | 4 人时 | 8 人时 |
| 去掉写死的宽高、固定导航高度 | 0 | 24 人时 |
| 灵动岛与实时活动 | 4 人时 | 12 人时 |
| 开屏、全屏视频、按旧岛裁过的素材 | 0 | 8 人时 |
| App Store 截图与预览 | 4 人时 | 8 人时 |
| 开发合计 | 12 人时 | 60 人时 |
示例单价按 ¥500 / 人时,含改代码和开发自测,不含沟通溢价。已自适应约 ¥6,000,写死布局约 ¥30,000。换成你们的单价即可,人时不要跟着单价一起改。
测试成本怎么记
测试不把上面的「看一眼安全区」再算一遍。这里是主路径回归,以及模拟器看不全的项目。
| 测试项 | 已自适应 | 写死布局 |
|---|---|---|
| 主路径:登录、首页、一笔核心操作。Pro 与 Pro Max,竖屏加横屏 | 8 人时 | 16 人时 |
| 真机抽检:岛、三项实时活动、户外亮度 | 4 人时 | 4 人时 |
| 仍在支持名单里的一台小屏,避免只修了新机 | 2 人时 | 4 人时 |
| 测试合计 | 14 人时 | 24 人时 |
按同一示例单价,测试约 ¥7,000 或 ¥12,000。下面三笔是现金,不进人时:
- 真机。布局先用模拟器。岛、实时活动和户外亮度再抽一台机器。售价按当地官价另计,见四地价格,不要加进 ¥13,000 或 ¥42,000。
- Apple Developer Program,每年 $99。今年不因为这块屏幕新产生。已经在付的团队不要重复加。
- 跑模拟器的 Mac。需要装有 iOS 27 模拟器的 macOS。办公室没有这台机器,或主力机不能装这版 Xcode 时,测试窗口租一台云端 Mac 即可。Windows 上构建的边界见云端 Mac 构建说明。租金记在测试现金里,不换算成人时。
不要为了读一个 inset 先买手机
点尺寸的第一份读数来自模拟器的安全区。真机用来确认岛的挖孔、三项实时活动是否互相遮挡,以及 3000 尼特那一档下浅色控件还在不在。顺序反了,设备预算会先于工时花出去。
两笔账加在一起
开发加测试,仍用 ¥500 / 人时。这是预算尺子,不是外包报价。仓库里没有实时活动时,从开发合计里减去对应人时,测试里的「三项实时活动」也可以改成只看岛的挖孔,人时不必保持 4。
| 已自适应 | 写死布局 | |
|---|---|---|
| 开发 | 12 人时 · ¥6,000 | 60 人时 · ¥30,000 |
| 测试 | 14 人时 · ¥7,000 | 24 人时 · ¥12,000 |
| 工时合计 | 26 人时 · ¥13,000 | 84 人时 · ¥42,000 |
| 另计,不进上表 | 真机官价、每年 $99、云端 Mac 租金 | 同左。写死布局不因此多买一台手机 |
本文写于 2026 年 10 月 13 日。像素与亮度核对自 iPhone 18 Pro 技术规格、18 Pro / Pro Max 规格页和 iPhone 17 Pro 技术规格。灵动岛的表述核对自 2026 年 9 月苹果新闻稿。人时和 ¥500 是例子。
常见问题
iPhone 18 Pro 换了屏幕,App 一定要改代码吗?
像素网格与 17 Pro 相同。已经跟着安全区布局的 App,通常不用为分辨率重画。顶部安全区仍要在新模拟器里看,因为岛更小,且能同时显示三项实时活动,点尺寸没有公布。写死宽高的界面要改代码。
开发费用和测试成本大概多少?
已自适应约 26 人时,写死布局约 84 人时。示例单价 ¥500,对应约 ¥13,000 和 ¥42,000。没有实时活动就从开发里减去 4 或 12 人时。真机和每年 $99 不要加进这张表。
没有新 iPhone,测试能做吗?
能。布局用 iOS 27 模拟器看 18 Pro 和 Pro Max。岛、三项实时活动和户外亮度再抽一台真机。没有对应 Mac 时,租用云端 Mac 覆盖这个窗口,不必为一次抽检再买一台电脑。
ZavCloud Cloud Mac
模拟器这一轮,不必先买一台新电脑
iPhone 18 Pro 的像素网格没变,测试仍要一台能打开 iOS 27 模拟器的 Mac。独享 Mac 云主机可以只覆盖这次抽检。
真机预算和工时表分开。云端节点替换的是编译和模拟器环境,不是那部手机。