編輯器旁的預覽畫布是空白,或一直顯示載入中。
本週建議:先分清畫布未開、畫布已開但沒有內容、預覽建置報錯,再檢查目前檔案、預覽宣告與專案建置狀態。預覽暫時不能用時,可先以專案建置和模擬器檢查課程進度;不要一看到空白就重裝 Xcode。
正在使用 Xcode 27.2 RC 學 SwiftUI、第一次遇到預覽問題的學生:可依畫面症狀選擇下一步。
只有 Windows 電腦、透過遠端 Mac 做 Xcode 練習的學生:可分辨問題是在專案,還是在目前的開發環境。
專案能建置、但預覽仍失敗的初學者:可了解替代驗收方式,以及何時應停止盲目排錯。
最後更新於 2026 年 10 月 24 日;版本與操作資料核對自 Apple 的 Xcode 系統要求、SwiftUI 預覽畫布操作說明及 Xcode 27 發布說明。RC 狀態與系統要求若有更新,請以 Apple 官方頁面當下列出的資料為準。
Xcode 27.2 RC SwiftUI 預覽不顯示:先分清畫布狀態
先看見什麼,再決定查哪裡。編輯器是寫 Swift 程式碼的區域;Canvas 是用來呈現預覽的畫布;預覽則是 Xcode 嘗試產生的介面結果。畫布沒開,不等於預覽產生失敗;畫布已開但空白,也不等於整個專案不能執行。
Apple 說明可在畫布中與介面預覽互動,也提供在介面檔加入預覽的操作文件。操作位置或畫面若與您使用的版本不同,請對照畫布互動說明及加入介面預覽的文件,不要憑舊版教學猜選單位置。
| 看見的狀況 | 先查什麼 | 下一步 |
|---|---|---|
| 編輯器旁沒有畫布 | Canvas 是否尚未顯示 | 依目前版本的畫布操作方式開啟 |
| Canvas 出現但沒有介面 | 選取檔案是否包含可預覽的 SwiftUI 畫面 | 核對檔案與預覽宣告 |
| 預覽顯示錯誤或持續載入 | 錯誤是否指出程式碼、建置或預覽執行問題 | 記錄第一則錯誤,再做一般建置 |
這個分流很重要。初學者常把「預覽不出現」當成單一故障,接著同時改程式碼、換設定、重開工具。這會讓原本的線索消失,也很難判斷哪個操作有影響。
畫布已開但空白:核對檔案與預覽宣告
先看目前開啟的檔案。課程專案可能有多個 Swift 檔案,不是每個檔案都代表一個可直接顯示的畫面。若選到的是資料模型、輔助程式或沒有介面的檔案,Canvas 沒有畫面可以呈現,不足以證明 Xcode 或整個專案故障。
接著確認該檔案是否包含 SwiftUI 介面,以及是否有相應的預覽宣告。預覽宣告可以理解為告訴 Xcode「要在畫布中試著顯示哪個畫面」的指示。Apple 的介面檔預覽說明可用來核對預覽建立方式;請依文件與目前專案語法確認,不要把網路範例直接貼進作業檔案。
可以用一個只顯示簡單文字的最小 SwiftUI 畫面作對照,但不要先改壞原始課程專案:
- 先確認目前選取的是包含介面的檔案。
- 找到該畫面的預覽宣告,檢查它指向的內容是否仍存在。
- 若課程專案有多個畫面,改選另一個已知包含介面的檔案比較。
- 將原畫面與簡化畫面的結果分開記錄。
若簡化畫面可預覽、課程畫面不行,優先檢查課程畫面使用的資源、資料或特定程式碼。這只是縮小範圍的方法,不代表某類程式碼必定是原因。
預覽報錯與專案建置:分開判讀
預覽建置失敗,與一般專案建置失敗不是同一個結果。先記下 Xcode 顯示的第一則錯誤訊息,以及它出現時正在預覽哪個檔案。再執行一般建置,確認錯誤是否也能重現。不要只記錄最後一行「失敗」;第一個具體錯誤通常更能協助定位問題。
| 檢查結果 | 可得出的判斷 | 建議處理 |
|---|---|---|
| 一般建置失敗 | 專案目前不能通過建置檢查 | 先處理錯誤訊息指向的程式碼或設定 |
| 一般建置成功,預覽失敗 | 建置與預覽結果不一致 | 記錄預覽錯誤、檔案與目前方案 |
| 一般建置成功,模擬器也能執行 | 課程程式至少可在該執行路徑檢查 | 先完成可驗收部分,再獨立追查 Canvas |
若問題可能與建置方案有關,檢查目前選用的方案和目標設定;Apple 的建置方案設定說明可作為核對依據。Xcode 27 的官方發布說明列有與預覽相關的功能或修正,但這只能作為版本背景,不能據此斷定 Xcode 27.2 RC 的空白預覽是普遍故障,也不能直接推定您的個案原因。
畫面不更新:確認狀態後縮小範圍
修改程式碼後,預覽未必會立刻呈現新畫面。先確認檔案已儲存,再看預覽是否仍在執行、是否出現新的錯誤訊息。若 Canvas 顯示載入或失敗狀態,先保留錯誤內容;反覆修改不同位置,會讓前後狀態難以比較。
縮小問題時,將課程畫面暫時簡化成容易辨認的內容,再觀察變化。如果簡化後仍不能預覽,回頭核對預覽宣告、建置結果與所選方案;如果簡化後可以預覽,逐步恢復原畫面的程式碼與資源,每次只改一處。這樣能判斷問題是否依賴特定畫面內容。
| 排查動作 | 能提供的線索 | 不代表什麼 |
|---|---|---|
| 儲存檔案並確認預覽狀態 | 預覽是否正在執行、是否有新錯誤 | 不代表問題已修復 |
| 改用簡化畫面對照 | 問題是否集中在原畫面或其資源 | 不代表簡化畫面等同課程成果 |
| 再次執行一般建置 | 專案建置是否仍可通過 | 不代表 Canvas 預覽可用 |
沒有明確證據時,不要把清除快取、重裝 Xcode 或修改系統設定當成預設處置。這些做法可能帶來額外工作,卻未必能回答問題究竟出在檔案、專案設定,還是預覽流程。
SwiftUI 預覽常見問題
Canvas 不見了,是預覽壞掉嗎?
不一定。先確認畫布是否只是尚未顯示,再查看目前版本的 Canvas 操作說明。如果畫布已經開啟,卻沒有介面,才往目前檔案、介面內容與預覽宣告檢查。這樣可以避免把面板顯示問題,誤判成 SwiftUI 程式碼或專案建置故障。
預覽空白時,該先檢查程式碼還是環境?
先從目前檔案與預覽宣告開始,再確認一般建置結果。這些檢查能先回答「選對畫面了嗎」和「專案能不能建置」,不需要一開始就更換環境。如果同一個專案在遠端 Mac 和本機呈現不同結果,再記錄兩邊的工具版本與操作步驟,供後續比較。
專案建置成功,預覽還是失敗怎麼繼續?
保留預覽的錯誤訊息,並確認一般建置是否仍成功。再核對選用方案、目前畫面與預覽狀態;若課程要求檢查實際執行畫面,可先透過模擬器確認。Apple 的模擬器或實體裝置執行說明提供執行途徑的官方資料,但模擬器結果不能證明預覽問題已排除。
沒有預覽時:用建置或模擬器維持進度
預覽主要用來在 Xcode 畫布檢查介面;一般建置用來確認專案能否建置;模擬器則可讓應用程式在模擬裝置環境中執行。三者回答的問題不同。不要把 Canvas 空白直接等同於課程專案完全不能運作。
| 驗收方式 | 可檢查的內容 | 無法單獨證明的事 |
|---|---|---|
| 一般建置 | 專案目前能否完成建置 | 執行時介面是否符合要求 |
| 模擬器 | 應用程式執行時的畫面與互動 | Canvas 預覽故障已修好 |
| SwiftUI 預覽 | 畫布中指定介面的呈現 | 整個專案所有執行情境均正常 |
若課程只要求專案可建置或在模擬器展示,可以先完成這部分,再把預覽錯誤與重現步驟交給授課者確認。若交付明確要求預覽截圖,就不能用模擬器畫面代替,應先確認是否接受其他驗收方式。
遠端 Mac 重現:保存環境與步驟
透過遠端 Mac 使用 Xcode 的 Windows 學生,先把環境資訊和專案資訊記在同一份排查紀錄:Xcode 版本、macOS 版本、專案目標設定、發生問題的檔案,以及重現步驟。不要只寫「遠端預覽不能用」;至少記下畫布是否開啟、一般建置結果與錯誤訊息。
再到Apple 官方系統要求頁核對目前 Xcode 版本對 macOS 的要求。系統要求與 RC 狀態可能隨官方頁面更新;本文不把其他版本的結果推廣成您手上環境的保證。Xcode 27 發布說明有列出預覽相關資料,但對個別遠端環境仍須依實際版本與重現結果判斷。
如果一般建置和模擬器可完成課程要求,可以先停下對預覽畫布的反覆嘗試,保留資料並報告異常;若課程驗收必須依賴 Xcode,而手邊只有受限制的 Windows 或學校電腦,就需要一個可使用 macOS 的環境。遠端連線也受網路品質影響;若需要長時間、固定且離線可用的工作環境,購買自己的 Mac 可能更合適。
使用 Windows 本機環境,通常無法直接提供完整的 Xcode 開發流程;學校電腦也可能限制安裝軟體,而自行折騰非正式的虛擬環境,會多出相容性與維護問題。若您只需在課程期間完成 Mac 上的建置或模擬器驗收,可先查看 MESHLAUNCH 的遠端 Mac 方案,再按課程要求判斷是否需要租用。若要比較其他使用情境,也可先看 MESHLAUNCH 遠端 Mac 服務資訊。