截至 2026 年 9 月 12 日,Apple 已公布 iPhone Duo 專頁、設計指南與相關影片,但 Xcode 27.1 beta、對應模擬器及部分配套文件仍要等到 2026 年 9 月稍晚才開放,詳見 Apple Developer 的 iPhone Duo 專頁。因此,本週不要等待工具才開始:先完成彈性布局、非對稱安全區域、窗口縮放和測試用例盤點;工具開放後再做模擬器姿態矩陣,正式發布前補上實體裝置回歸。這是目前最穩妥的 iPhone Duo 適配測試邊界。
這篇適合三類開發者:維護 SwiftUI App、需要確認自適應布局的獨立開發者;維護 UIKit、自訂導覽列或固定尺寸頁面的團隊;以及沒有常駐測試 Mac、準備用遠端 Mac 執行 Xcode 27.1 和 Device Hub 的小型團隊。
現在可做與必須等待的工作邊界
先把工作分成三層,而不是把所有事情都標成「等 beta」。
現在可檢查:
- 是否依賴固定螢幕寬度、特定裝置型號或單一方向值。
- 是否假設左右安全區域永遠對稱。
- 是否只測過全螢幕,而沒有測試窗口縮放、並排顯示和狀態恢復。
- 導覽、Sheet、Popover、工具列及自訂轉場是否有明確的尺寸變化策略。
- 截圖、日誌、建置產物及測試案例是否已經可以脫敏保存。
Xcode 27.1 beta 開放後驗證:
- 安裝受支援的 Xcode 27.1 beta 和 iPhone Duo 模擬器。
- 建立內螢幕、外螢幕、橫向、直向及不同窗口尺寸的測試組合。
- 透過 Device Hub 確認可見的測試裝置、姿態控制和專案執行結果。
- 對每項修正重新執行普通 iPhone 回歸,不新增只服務單一裝置的分支。
實體裝置到手後回歸:
- 驗證真實觸控、轉向、輸入位置、相機和媒體行為。
- 重新執行登入、付款、分享、推播、深層連結等關鍵任務。
- 以 Release 建置確認效能、資源、簽名和上架產物。
- 依 App Store Connect 最新入口及規格完成素材上傳,而不是只在本機看截圖。
Apple 的 iPhone Duo 設計指南可用來核對設計原則,但設計稿通過不等於程式已完成運行驗收。現有 App 可以啟動,也不代表它已經妥善利用內螢幕、折疊姿態或新的導覽布局。
SwiftUI 與 UIKit 的風險分流
SwiftUI:先處理尺寸來源
SwiftUI 開發者應先搜尋所有把畫面尺寸寫死的地方,再看布局是否依賴某個裝置名稱。優先檢查:
GeometryReader中以固定寬度決定欄數或按鈕位置的邏輯。- 以
UIScreen或自訂常數代替容器尺寸的布局。 - 只依賴橫直向判斷,卻沒有處理實際可用區域變化的頁面。
- 使用
NavigationSplitView、TabView、Sheet、Popover時,沒有為窄寬和寬布局定義不同呈現方式。 - 只以對稱
safe area推導卡片、工具列或主要操作按鈕位置的頁面。
優先改用 size class、容器尺寸及布局環境作為判斷依據。不要先建立 if iPhoneDuo 之類的裝置分支。這種修補短期看似快速,之後往往會在普通 iPhone、iPad 或分屏狀態留下另一套未測試路徑。
建議把每個高流量頁面拆成可重複案例:
- 內螢幕載入、返回、滾動及鍵盤出現。
- 外螢幕載入和主要操作完成。
- 橫向與直向切換。
- 窗口縮放後的導覽、彈窗和表單。
- 應用程式進入背景後,再恢復到原本場景。
UIKit:找出尺寸與主螢幕假設
UIKit 或自訂界面維護者,先搜尋硬編碼 frame、直接讀取主螢幕尺寸、忽略 safe area 的頁面,以及自訂工具列和轉場。這些地方在雙螢幕形態或可變窗口中風險較高,原因是視圖的可用尺寸、trait collection 和容器關係可能先於裝置方向改變。
請逐項確認:
- Auto Layout 是否有完整的水平與垂直約束。
traitCollection變化後,字體、欄位和按鈕是否仍可用。UISplitViewController的欄位顯示是否能適應不同寬度。- 自訂轉場是否以實際容器邊界計算,而不是以主螢幕大小計算。
safeAreaInsetsDidChange或等效布局更新後,內容是否會被工具列、折疊區域或輸入控制項遮住。
注意: 每項修復都要同時通過普通 iPhone 回歸。若修正只在新形態通過,卻破壞既有窄屏頁面,這不是完成適配,而是轉移了風險。
完成一次修正後,至少保存四項結果:提交版本、測試尺寸、關鍵操作錄影或截圖,以及失敗時的日誌。專案名、Bundle ID、帳號、檔案路徑和螢幕內容都應脫敏,避免測試產物直接暴露內部資料。
多視窗、媒體與相機頁面
多場景 App 不應只驗證一個全螢幕頁面。請把下列情況列成獨立測試組:
- 同一個場景縮放後,列表選取和詳情頁是否保持一致。
- 並排顯示後,場景狀態是否正確保存。
- 應用程式進入背景、終止再重開後,是否能恢復必要內容。
- 多個窗口同時存在時,深層連結是否進入正確場景。
- 旋轉或顯示區域改變後,媒體播放、字幕、進度條和控制項是否仍在可觸及位置。
相機、影片、遊戲和橫向工具則要另外記錄:
- 預覽區域是否跟隨實際顯示區域。
- 旋轉後輸入座標、裁切比例和手勢方向是否一致。
- 相機權限、麥克風權限及中斷恢復是否可重現。
- 全螢幕與非全螢幕之間切換時,內容是否短暫跳位或被遮住。
- 需要硬體能力的功能,是否已有明確的降級路徑。
截至本文資料邊界,不能根據產品宣傳推斷鉸鏈狀態、多顯示區域或相機能力的新 API 行為。涉及這些功能時,只使用 Apple 已公開的文件和工具結果。未公開行為只能列為待驗證項目,不能放進正式相容性承諾。
遠端 Mac 與正式環境的雙軌安排
Xcode 27.1 beta 開放前,先閱讀 Apple 的 Xcode 系統要求,確認現有主機能否承受新的工具鏈和模擬器元件。不要直接把 beta 裝到唯一的正式打包機。
遠端 Mac 的準備順序如下:
-
分離主機角色。
正式簽名、上架和穩定建置使用固定版本;iPhone Duo 熱點測試使用獨立環境。若只有一台 Mac,先確認是否能保留現有 Xcode 和建置產物,再決定是否升級。 -
確認 Apple silicon 與系統基線。
按官方要求檢查架構、macOS 版本、可用硬碟空間和權限。不要只看 Xcode 本體能否啟動,還要確認模擬器 Runtime、Derived Data、截圖及日誌有足夠保存位置。 -
安排圖形工作階段。
Device Hub 和模擬器需要可互動的圖形會話。先確認 VNC 或網頁控制台能顯示完整 Xcode 視窗、滑鼠操作、鍵盤輸入及模擬器畫面;SSH 適合建置和日誌,不應被當作圖形測試替代品。可先參考 Device Hub 官方文件和 WWDC26 的 Device Hub 介紹規劃驗收項目。 -
固定專案同步方式。
使用可重現的分支、鎖定依賴版本和脫敏測試資料。不要把唯一的測試專案放在遠端桌面下載資料夾;建置設定、日誌和截圖應能另行取回。 -
建立斷線恢復測試。
在模擬器啟動、建置、測試、截圖和日誌寫入時分別中斷遠端連線。重新連線後記錄能否看到原有畫面、取得失敗原因,以及是否需要重新開始。沒有這份記錄,就不能把遠端 Mac 當成可長時間運行的測試環境。 -
隔離簽名與測試帳號。
Beta 測試不要直接覆蓋正式 Provisioning Profile、金鑰或上架憑證。若需要登入 App Store Connect,使用最小必要權限,並保存操作責任人和時間。
遠端 Mac 的選擇條件
- 若本機能安裝 Xcode 27.1 beta、保留正式工具鏈,且有獨立硬碟空間,則選本機雙軌。 這適合每日需要快速改碼和除錯的開發者。
- 若本機只有一套正式環境,升級會影響目前上架流程,則選隔離的遠端 Mac。 正式打包機保持穩定,適配測試另行建立。
- 若團隊只需要在工具開放後集中完成一輪矩陣測試,則選短期遠端環境。 先準備分支、測試案例和素材模板,避免租用後才整理專案。
- 若需要持續執行回歸、保存模擬器和日誌,且多人要在不同時間連線,則選常駐測試環境。 但仍要先核實實際圖形會話和斷線恢復,不要只按「可 SSH」判斷是否適合。
若需要了解如何安排 遠端 Mac 的 iOS 介面回歸測試環境,可以先按上述清單核對主機角色、圖形連線和產物保存方式。若團隊要比較獨立測試主機的租用安排,也可參考 Mac mini 遠端訂購方案,再以本身的工具鏈隔離、測試時長和多人連線需求作判斷。MESHLAUNCH 的遠端 Mac 只應作為隔離測試方案評估,不應取代正式發布環境的版本控管。
發布素材與五層驗收
App Store Connect 的截圖要求會直接影響發布責任。Apple 已提供 截圖規格資料,但 iPhone Duo 上傳入口和實際流程仍應以稍後更新的 App Store Connect 狀態為準。現階段先做模板,不要提前替換目前正式版本素材。
發布負責人可以用五層記錄收斂工作:
- 程式建置層: 確認 Debug、Release、簽名、依賴和建置產物一致。
- 模擬器姿態層: 記錄內外螢幕、方向、窗口尺寸和每次測試所用 Runtime。
- 關鍵任務層: 覆蓋首次啟動、登入、付款、分享、推播、深層連結和狀態恢復。
- 截圖素材層: 保存來源建置、顯示狀態、文案版本和裁切方式;內外螢幕是否要分開提交,等待官方入口以實際要求確認。
- 實體裝置層: 上市或取得測試機後,重做觸控、旋轉、相機、媒體、效能和實際上傳驗收。
若團隊有批次產生素材的需求,可參考 App Store Connect 截圖 API 文件,但 API 能建立資料不等於所有素材已符合審核條件。最終仍要透過 官方截圖上傳流程確認入口、規格和版本狀態。
FAQ:工具、相容性與素材邊界
現有 App 不重新編譯可以在 iPhone Duo 上運行嗎?
可以先把「能啟動」列為相容性觀察項目,但不能據此判定完成適配。舊建置可能能運行,卻仍有固定尺寸、非對稱安全區域、窗口狀態或新導覽布局問題。完整結論要等對應 SDK、模擬器和實體裝置都完成驗證。
Xcode 27.1 何時能使用 iPhone Duo 模擬器?
截至 2026 年 9 月 12 日,Apple 表示 Xcode 27.1 beta、iPhone Duo 模擬器和部分配套文件會在 2026 年 9 月稍晚開放。官方確切開放時間若有更新,應以開發者專頁和 Xcode 系統要求頁為準。現在先完成程式風險盤點,不要把等待工具當成停止工作的理由。
遠端 Mac 能執行 iPhone Duo Device Hub 測試嗎?
遠端 Mac 可以作為候選環境,但必須在實際支援的 Apple silicon 主機上核實 Xcode、Device Hub、模擬器和圖形工作階段。測試時還要檢查 VNC 或網頁控制台的畫面更新、專案同步、日誌取回和斷線後恢復。只具備 SSH 不足以證明能完成圖形測試。
內外螢幕需要分別準備 App Store 截圖嗎?
素材準備應把內外螢幕視為不同驗收項目,先建立各自模板和版本記錄;是否必須分別上傳,則等待 App Store Connect 入口及最新規格確認。入口尚未開放前,不要撤換現行正式資產,也不要把設計稿尺寸當成已通過上傳。
立即執行清單
本週可以直接建立三個工作欄位:
立即準備
- [ ] SwiftUI、UIKit 和自訂界面完成固定尺寸搜尋。
- [ ] 盤點 safe area、trait collection、容器尺寸和窗口縮放風險。
- [ ] 為內外螢幕、方向、窗口狀態和關鍵任務建立案例。
- [ ] 建立脫敏截圖、日誌、專案路徑和產物命名規則。
- [ ] 把正式打包機與 beta 適配環境分成兩個責任範圍。
等待工具
- [ ] 核對 Xcode 27.1 beta 的 macOS、架構和元件要求。
- [ ] 安裝模擬器後建立 Device Hub 姿態矩陣。
- [ ] 驗證圖形工作階段、斷線恢復和測試結果保存。
- [ ] 對每項修正重新跑普通 iPhone 回歸。
等待真機與入口
- [ ] 重做相機、媒體、輸入座標和旋轉測試。
- [ ] 以 Release 建置完成簽名和關鍵任務驗收。
- [ ] 依 App Store Connect 實際入口確認內外螢幕素材。
- [ ] 只有完整發布鏈路通過後,才關閉 iPhone Duo 適配工作。
如果目前方案是把 Xcode 27.1 beta 直接裝在唯一的正式 Mac 上,缺點是正式打包穩定性會受影響;若改用本機額外分區,又會承擔硬碟空間、更新維護和長時間佔用的成本。單靠 SSH 也無法完成模擬器圖形驗收,斷線後更可能遺失正在觀察的畫面。對於只需要一段時間完成姿態矩陣、素材驗證或回歸測試的團隊,使用一台隔離的 MESHLAUNCH 遠端 Mac,通常比改動唯一的生產主機更容易控制風險;正式環境則繼續保留穩定版本,直到新工具鏈和實體裝置都完成驗收。