新機一到,工單裡先出現的往往不是新功能,而是「螢幕變了,這版要不要改、開發怎麼報價、測試還要不要再鋪一輪」。下文先對齊 Apple 已經寫在規格頁上的螢幕數字,再把開發工時和測試花費拆成兩張表。單價你可以換成自己的,這裡不先給總價。
規格頁上,這代螢幕寫了什麼
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。Apple 的規格頁不印 pt,這個換算是我們做的,方便對照程式裡的魔術數字。
亮度也對齊上一代:典型最高 1000 尼特,HDR 峰值 1600 尼特,戶外峰值 3000 尼特,最低 1 尼特。ProMotion 最高 120Hz,Always-On、P3、防反射塗層都還在。這些項目不產生新的版面常數。Pro 與 Pro Max 的尺寸、續航和目錄價差,見站內六項對照,不要和適配工時疊在同一格裡。
變的是動態島。Apple 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 | 規格頁上的數字相同 |
| 動態島 | 有。點尺寸未在規格頁單列 | 新聞稿:更小,可同時顯示三項即時動態 |
島的點尺寸,以模擬器為準
網路上有「島高出百分之幾十」的說法,和 Apple 新聞稿裡的 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 減掉。示例單價約 新台幣 2,200 元/人時,由人民幣 500 元四捨五入,只供閱讀。
| 開發工作包 | 已自適應 | 寫死版面 |
|---|---|---|
| 兩台模擬器,直向和橫向看安全區域 | 4 人時 | 8 人時 |
| 去掉寫死的寬高、固定導覽列高度 | 0 | 24 人時 |
| 動態島與即時動態 | 4 人時 | 12 人時 |
| 開機畫面、全螢幕影片、按舊島裁過的素材 | 0 | 8 人時 |
| App Store 截圖與預覽 | 4 人時 | 8 人時 |
| 開發合計 | 12 人時 · 約 NT$26,400 | 60 人時 · 約 NT$132,000 |
測試成本怎麼記
測試不把上面的「看一眼安全區域」再算一遍。這裡是主路徑回歸,以及模擬器看不全的項目。
| 測試項 | 已自適應 | 寫死版面 |
|---|---|---|
| 主路徑:登入、首頁、一筆核心操作。Pro 與 Pro Max,直向加橫向 | 8 人時 | 16 人時 |
| 實機抽檢:島、三項即時動態、戶外亮度 | 4 人時 | 4 人時 |
| 仍在支援名單裡的一台小螢幕,避免只修了新機 | 2 人時 | 4 人時 |
| 測試合計 | 14 人時 · 約 NT$30,800 | 24 人時 · 約 NT$52,800 |
下面三筆是現金,不進人時:
- 實機。版面先用模擬器。島、即時動態和戶外亮度再抽一台機器。售價按當地官價另計,見四地價格,不要加進工時合計。
- Apple Developer Program,每年 $99。今年不因為這塊螢幕新產生。已經在付的團隊不要重複加。
- 跑模擬器的 Mac。需要裝有 iOS 27 模擬器的 macOS。辦公室沒有這台機器,或主力機不能裝這版 Xcode 時,測試窗口租一台雲端 Mac 即可。Windows 上建置的邊界見雲端 Mac 建置說明。租金記在測試現金裡,不換算成人時。
不要為了讀一個 inset 先買手機
點尺寸的第一份讀數來自模擬器的安全區域。實機用來確認島的開孔、三項即時動態是否互相遮擋,以及 3000 尼特那一檔下淺色控制項還在不在。順序反了,裝置預算會先於工時花出去。
兩筆帳加在一起
開發加測試。人時是可以搬走的數字;新台幣由人民幣 500 元/人時四捨五入,換成你們的單價即可。專案裡沒有即時動態時,從開發合計裡減去對應人時。
| 已自適應 | 寫死版面 | |
|---|---|---|
| 開發 | 12 人時 · 約 NT$26,400 | 60 人時 · 約 NT$132,000 |
| 測試 | 14 人時 · 約 NT$30,800 | 24 人時 · 約 NT$52,800 |
| 工時合計 | 26 人時 · 約 NT$57,200 | 84 人時 · 約 NT$184,800 |
| 另計,不進上表 | 實機官價、每年 $99、雲端 Mac 租金 | 同左。寫死版面不因此多買一台手機 |
本文寫於 2026 年 10 月 13 日。像素與亮度核對自 iPhone 18 Pro 技術規格、18 Pro / Pro Max 規格頁和 iPhone 17 Pro 技術規格。動態島的表述核對自 2026 年 9 月 Apple 新聞稿。人時是例子,新台幣單價是換算。
常見問題
iPhone 18 Pro 換了螢幕,App 一定要改程式嗎?
像素網格與 17 Pro 相同。已經跟著安全區域排版的 App,通常不用為解析度重畫。頂部安全區域仍要在新模擬器裡看,因為島更小,且能同時顯示三項即時動態,點尺寸沒有公布。寫死寬高的介面要改程式。
開發費用和測試成本大概多少?
已自適應約 26 人時,寫死版面約 84 人時。示例單價約新台幣 2,200 元,對應約 57,200 與 184,800 元。沒有即時動態就從開發裡減去 4 或 12 人時。實機和每年 $99 不要加進這張表。
沒有新 iPhone,測試能做嗎?
能。版面用 iOS 27 模擬器看 18 Pro 和 Pro Max。島、三項即時動態和戶外亮度再抽一台實機。沒有對應 Mac 時,租用雲端 Mac 覆蓋這個窗口,不必為一次抽檢再買一台電腦。
ZavCloud Cloud Mac
模擬器這一輪,不必先買一台新電腦
iPhone 18 Pro 的像素網格沒變,測試仍要一台能打開 iOS 27 模擬器的 Mac。獨享 Mac 雲端主機可以只覆蓋這次抽檢。
實機預算和工時表分開。雲端節點替換的是編譯和模擬器環境,不是那支手機。