Joe's Blog

iOS 開發筆記

WWDC26 What's New in Xcode

發佈於 2026-06-24

工欲善其事,必先利其器。每年 Xcode 的更新對日常開發影響最直接——這篇整理 WWDC26「What’s New in Xcode」session 的重點,beta 階段先有個全貌。


🎨 Workspace 與主題系統

Toolbar 重新設計

主題系統(Theme)

這是這次 UI 改動裡最搶眼的部分:

好看歸好看,實際工作效率有沒有差另說——但至少多 workspace 切換時,一眼就能認出在哪個 project。


📝 編輯體驗

Inline Issues(預測性診斷)

打字過程中即時跑出來的「預測性」issue,現在用比較淡的樣式呈現——不打擾思考。等真的 build 之後,warning 和 error 才會以全強度顯示;如果 build 過程中問題消失了,會自動清掉。

Untitled Projects

可以直接建立沒有名稱的 project,不用先取名、不用先存檔,需要的時候再決定要不要保留。對於想快速試一段 code 的場景很方便。

Standalone Swift Files

單一 .swift 檔可以直接在 workspace 視窗中開啟,Canvas 也支援——意思是 playground 結果和 UI preview 都能用,不用為了試一個小東西特地開一個 project。

Project Templates

新建 project 選項:


🤖 Coding Agent 進駐編輯器

Agent 變成編輯器的一等公民:

Provider 與工具整合


📱 Device Hub

模擬器和實體裝置的統一入口,這次補了很多實用功能:

對於做 accessibility 測試的人,這個改動很有感——以前要進 Settings App 一層一層切,現在從 Device Hub 直接點。


🌐 Localization with Agent

String Catalog 配合 Agent 整套搬到 Xcode 裡:

  1. Agent 讀過 App 程式碼,確認字串都是 localizable
  2. 自動建立 / 維護 String Catalog
  3. 用「Generate Translations」按鈕讓 Agent 批次翻譯到新語言
  4. 立刻跑 build 看翻譯效果
  5. 透過 TestFlight 讓母語使用者回饋

對於小型開發者來說,這基本上是「無痛多語化」的開始。當然,機器翻譯品質仍須母語者校對,但起手成本大幅下降。


📊 Organizer 與 Instruments

Organizer 改版

Instruments:Top Functions

新的 Top Functions 視圖,CPU profile 直接告訴你最貴的 function 是哪個——以前要在 call tree 裡翻半天。

搭配 Quick Open(⌘⇧O)可以直接從 function 名稱跳到原始碼,修完再 record 一次驗證。對於追動畫卡頓、啟動慢這種問題,循環會快很多。


☁️ Xcode Cloud

如果你之前覺得 Xcode Cloud 設定太麻煩,這次值得再試一次。


⚠️ 升級前的小提醒

社群已經有人遇到 Xcode 27 beta 下載 iOS Simulator runtime 卡住的問題——對話框停在「Fetching download information」一動不動,重灌 Xcode 和重開機都沒用。

Donny Wals 分享的解法是改用 command line:

1
xcodebuild -downloadPlatform iOS -architectureVariant arm64

或一次裝全部平台:

1
xcodebuild -downloadAllPlatforms -architectureVariant arm64

如果你升上 Xcode 27 beta 後遇到一樣的問題,可以先試這招。


🔚 總結

這次 Xcode 27 的兩條主線:

  1. Agent 全面進駐——從寫 code、翻譯、效能診斷到問題分析,Agent 變成 IDE 的一部分
  2. 工作流順手化——Untitled Projects、Device Hub、Inline Issues、Top Functions,都是把以前的痛點補上

主題系統算是讓人分神的功能,但好看;Agent 部分還要實際用過才知道體感。整體調性還是這次 WWDC 的主軸——務實、把累積的東西清理乾淨。


What’s New in Xcode — WWDC26 Session 258

Simulator runtime workaround 來源:Donny Wals — Installing simulator runtimes from the command line


本文使用 Claude 共同完成