Swift 作業突然不能建置、執行結果變了,或檔案內容看起來不對。
先停止讓 Claude Code 繼續修改,複製整個專案,再看清楚差異;確認要恢復的範圍後才用 Git 或備份處理,最後在 Xcode 驗證。
這篇適合剛開始學 Swift、用 Claude Code 協助理解或修改課程程式的學生。
如果還不確定出了什麼問題,先記錄現象;不要急著刪檔或覆蓋。
Claude Code 改壞 Swift 作業怎麼辦:先分辨症狀
作業出問題不一定代表程式碼已經損毀。可能是檔案被改動、建置失敗、執行結果不同,也可能只是新增的程式碼暫時看不懂。先辨認是哪一種,再決定要檢查程式、專案設定,還是執行環境。
| 目前看到的情況 | 先做什麼 | 避免的操作 |
|---|---|---|
| 不知道哪些檔案變了 | 保留副本,再查看檔案清單與差異 | 只看檔名就刪除 |
| 建置失敗或執行結果不同 | 記下完整錯誤訊息,核對程式與專案設定 | 反覆要求 Claude Code 自動修復 |
| 程式能跑,但不理解改動 | 對照課程要求,逐段閱讀變更 | 把 AI 的解釋當成作業正確證明 |
在專案資料夾外另存一份完整副本,確認副本內有課程需要的檔案。接著記下建置錯誤、異常畫面或結果差異。Claude Code 的官方入門文件與命令列使用說明可協助理解其操作方式與權限,但不能據此判定課程答案正確,也不能保證某種恢復方式一定成功。
檔案清單與差異檢查
Claude Code 改動後,怎樣確認哪些 Swift 專案檔案不同?先從版本控制狀態找出新增、修改或刪除的檔案,再查看各檔案內容的差異。差異檢查像是把兩份草稿並排比較:它指出哪裡不同,不會替學生判斷哪一版符合課程要求。
若專案已有 Git 記錄,在專案目錄執行:
git status --short
git diff -- path/to/File.swift
git diff --cached -- path/to/File.swift
git status --short 的狀態欄以 兩個位置表示不同狀態:第一個位置對應已暫存的變更,第二個位置對應工作目錄中的變更;未追蹤檔案也可能出現在清單中。詳情可查閱 Git status 官方說明。git diff 用來查看差異,--cached 則查看已暫存的差異;參數用法以官方文件為準。
檔案被刪除或新加入時,也要核對清單和內容。不要因為某個檔名看起來像暫存檔,就推斷它可以刪掉;課程專案可能有設定檔、資源檔或測試檔,缺少它們也會影響建置。
沒有 Git 記錄時的安全恢復
沒有 Git,還能找回被改過的課程檔案嗎?先找課程提供的原始檔、個人備份或可確認來源的副本,再逐一比對。無法確認用途的檔案先留下,不要把整個資料夾直接覆蓋成另一份版本。
建議按這個順序處理:
- 把目前專案另存一份,保留 Claude Code 修改後的狀態。
- 尋找課程下載檔、自己先前保存的副本或其他可信來源。
- 比對出問題的檔案內容,而不是只按檔名替換。
- 把已確認要恢復的檔案放入工作副本,再檢查引用它的程式與資源。
- 用 Xcode 開啟工作副本,確認專案檔案、建置和作業要求。
如果只有一份目前專案,也找不到可信的原始檔,就先不要覆蓋。保留現況並請教師或助教確認哪份課程材料可作為恢復依據。這比猜測應刪除哪些內容安全。
有 Git 時依照變更狀態恢復
| 專案狀態 | 優先檢查 | 可考慮的恢復方式 |
|---|---|---|
| 尚未提交的修改 | git status、git diff |
確定不需要的檔案後,針對指定路徑恢復 |
| 已暫存的修改 | git diff --cached |
先確認暫存區內容,再決定是否恢復 |
| 已提交的版本 | git log 與目標版本差異 |
找出正確版本,只取回需要的檔案或內容 |
任何恢復命令執行前,都應先確認工作區狀態並保留專案副本。git restore 會依指定來源與路徑還原內容;用錯路徑或來源,可能讓需要保留的修改消失。請先閱讀 Git restore 官方文件,不要直接複製不清楚作用的命令。
若要檢查先前的提交,可用 git log -n 5 查看最近 五筆記錄,再確認提交內容和日期是否符合預期;-n 的用途見官方 Git log 說明。這只用來協助定位記錄,不代表最新一筆一定是正確的課程版本。確認來源後,先在副本中恢復並檢查差異,再決定是否套用到主要工作目錄。
建置與作業要求核對
程式能執行,是否就代表符合 Swift 課程要求?不一定。建置成功只能說明目前環境能完成建置,不能證明功能、檔案結構或提交方式符合評分標準。
對照作業說明逐項檢查:要求的功能是否存在、指定檔案是否保留、輸入和輸出是否符合範例,以及提交格式是否正確。再閱讀 Claude Code 改過的區段,試著說明每個變更做什麼。若解釋不清楚,先向教師或助教確認,不要提交自己無法理解的程式碼。
建置失敗時,分別檢查程式錯誤、專案設定和 Xcode 環境。Apple 的Xcode 文件涵蓋專案與建置相關內容;若錯誤涉及建置階段,參考Apple 對目標建置階段的說明。保留完整錯誤訊息,不要只截取最後一行。
若課程指定 Xcode 27,先按課程要求核對版本,再到 Apple 的Xcode 系統需求頁面確認相容的 macOS 環境。版本要求可能因 Xcode 版本而不同;不要把網路上的舊教學當成目前的相容性證明。
確認環境後再繼續
恢復後仍無法建置時,先用副本重現問題,確認錯誤是否在同一處出現;接著核對課程指定的 Xcode 版本、專案設定與程式差異。若只有某台電腦失敗,應優先檢查環境是否符合 Apple 公布的系統需求,而不是繼續改動已恢復的程式碼。
如果目前使用 Windows,學校電腦又不允許安裝所需工具,常見替代方式各有取捨:共用電腦受開放時間限制;本機虛擬環境可能需要額外設定,也未必符合課程環境要求;等待借用設備則不利於隨時驗證。若作業明確要求 macOS 與 Xcode,可再比較可用的 Mac 環境,並確認課程是否允許遠端使用。可先參考不同 Mac 使用方式的比較,再查看 NUMACS 使用入門了解遠端連線方式。NUMACS 提供遠端 Mac 使用選項,是否適合仍應按課程規定、所需工具與使用時間判斷。
處理 Claude Code 改動的重點,是先留下可回頭檢查的副本,再用差異和課程材料確認要恢復什麼;不要把 AI 建議當成正確答案。確認作業確實需要 macOS 與 Xcode、而手邊暫時沒有可用 Mac 時,可先了解 NUMACS 的遠端 Mac 使用方式,再判斷是否符合課程規範;若需要穩定長期使用或實體介面,則應評估自有設備等其他選擇。
NUMACS 雲端 Mac
需要乾淨環境檢查 Swift 作業?試用 NUMACS 雲端 Mac
以 NUMACS 獨享實體 Mac mini 遠端建立獨立工作環境,檢查程式碼差異與復原後的專案狀態。
