[{"data":1,"prerenderedAt":595},["ShallowReactive",2],{"blog-article-\u002Ftw\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely":3},{"id":4,"title":5,"author":6,"body":7,"category":576,"cover":577,"coverAlt":578,"description":579,"draft":580,"extension":581,"meta":582,"navigation":583,"path":584,"publishedAt":585,"seo":586,"stem":587,"tags":588,"translationKey":592,"updatedAt":593,"__hash__":594},"articles_tw\u002Ftw\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely.md","如何安全刪除 Xcode Derived Data：釋放 Mac 儲存空間","Harry",{"type":8,"value":9,"toc":560},"minimark",[10,19,27,33,38,41,57,60,63,80,83,87,173,184,188,191,220,223,227,230,296,299,315,318,338,341,388,391,395,402,405,444,447,451,454,457,460,464,473,483,486,491,494,498,501,505,508,512,515,518,548,556],[11,12,13,14,18],"p",{},"可以，Xcode Derived Data 通常能安全刪除。預設資料夾裡存放的是 Xcode 可以重新產生的建置成果與索引，刪除後",[15,16,17],"strong",{},"不會影響專案原始碼","，但下一次建置和程式碼索引會花比較久的時間。",[11,20,21,22,26],{},"真正要留意的是刪除範圍：先結束 Xcode，並確認操作的是 ",[23,24,25],"code",{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData","，不要誤刪 Archives、模擬器裝置資料或專案資料夾。",[28,29,30],"blockquote",{},[11,31,32],{},"本文所列路徑與檢查指令已於 2026 年 8 月 10 日在 macOS 15.7.7、Xcode 16.2 上驗證。Xcode 選單位置可能隨版本調整；若你沒有自訂建置位置，預設 Derived Data 路徑與下方的終端機操作仍然適用。",[34,35,37],"h2",{"id":36},"xcode-derived-data-是什麼","Xcode Derived Data 是什麼？",[11,39,40],{},"Xcode 會把建置專案與分析程式碼時產生的檔案放進 Derived Data，常見內容包括：",[42,43,44,48,51,54],"ul",{},[45,46,47],"li",{},"編譯成果與建置過程中的中間檔案；",[45,49,50],{},"用於程式碼導覽、搜尋與自動完成的索引；",[45,52,53],{},"記錄檔與其他專案建置輔助資料；",[45,55,56],{},"該工作區在本機簽出的 Swift Package 與相關建置資料。",[11,58,59],{},"Apple 文件指出，工作區索引位於各自的 Derived Data 目錄；Xcode 版本說明也曾建議在部分建置問題發生時，清除該專案的 Derived Data 作為排除方式。換句話說，這個資料夾的內容原本就應該能夠重新產生，而不是原始碼的唯一來源。",[11,61,62],{},"遇到下列情況時，可以考慮清除：",[42,64,65,68,71,74,77],{},[45,66,67],{},"已不再使用的舊專案留下數 GB 的產生資料；",[45,69,70],{},"建置時反覆使用過期的結果；",[45,72,73],{},"程式碼自動完成或索引運作異常；",[45,75,76],{},"更新 Xcode 後，Package 或 Macro 建置失敗；",[45,78,79],{},"需要釋放磁碟空間，而且可以接受第一次重建較慢。",[11,81,82],{},"不要只因為 Derived Data 存在就定期清空。開發中的專案會利用增量建置資料縮短編譯時間；若資料夾不大、運作也正常，刪除它只會用建置時間交換少量磁碟空間。",[34,84,86],{"id":85},"哪些內容可以安全刪除","哪些內容可以安全刪除？",[88,89,90,106],"table",{},[91,92,93],"thead",{},[94,95,96,100,103],"tr",{},[97,98,99],"th",{},"位置",[97,101,102],{},"建議",[97,104,105],{},"刪除後的影響",[107,108,109,123,136,149,162],"tbody",{},[94,110,111,117,120],{},[112,113,114],"td",{},[23,115,116],{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FProjectName-*",[112,118,119],{},"可刪除你能確認的單一專案資料",[112,121,122],{},"該專案需要重新建置與建立索引",[94,124,125,130,133],{},[112,126,127,129],{},[23,128,25],{}," 內的所有內容",[112,131,132],{},"需要完整重設時可以清除",[112,134,135],{},"所有 Xcode 專案都需要重新建置與建立索引",[94,137,138,143,146],{},[112,139,140],{},[23,141,142],{},"~\u002FLibrary\u002FDeveloper\u002FXcode\u002FArchives",[112,144,145],{},"不要當成快取刪除",[112,147,148],{},"可能失去用於發佈或當機分析的封存檔，以及對應的除錯符號",[94,150,151,156,159],{},[112,152,153],{},[23,154,155],{},"~\u002FLibrary\u002FDeveloper\u002FCoreSimulator\u002FDevices",[112,157,158],{},"請另外逐項檢查",[112,160,161],{},"可能失去模擬器中的應用程式、設定與測試資料",[94,163,164,167,170],{},[112,165,166],{},"Git 儲存庫或專案資料夾",[112,168,169],{},"不要刪除",[112,171,172],{},"這裡才是實際的原始碼與專案設定",[11,174,175,176,179,180,183],{},"清除前也請先查看 Xcode 的 ",[15,177,178],{},"Settings → Locations","。如果 Derived Data 設為 ",[15,181,182],{},"Custom","，請使用畫面上顯示的位置，不要直接套用預設路徑。",[34,185,187],{"id":186},"方法一使用-finder-清除-derived-data","方法一：使用 Finder 清除 Derived Data",[11,189,190],{},"如果想在刪除前先看清楚各個專案資料夾，使用 Finder 最直觀。",[192,193,194,197,204,211,214,217],"ol",{},[45,195,196],{},"儲存工作，並停止正在執行的建置或測試。",[45,198,199,200,203],{},"開啟 ",[15,201,202],{},"Xcode → Settings → Locations","。",[45,205,206,207,210],{},"找到 ",[15,208,209],{},"Derived Data","，按一下路徑旁的箭頭，在 Finder 中顯示該資料夾。",[45,212,213],{},"結束 Xcode。",[45,215,216],{},"只將有問題或已不再使用的專案資料夾移到垃圾桶。若要完整重設，再移動 Derived Data 資料夾內的所有內容。",[45,218,219],{},"重新開啟 Xcode 並再次建置專案。",[11,221,222],{},"先移到垃圾桶，可以保留短暫的復原機會。確認專案能正常開啟並重新建置後，再清空垃圾桶。",[34,224,226],{"id":225},"方法二使用終端機檢查與清除","方法二：使用終端機檢查與清除",[11,228,229],{},"先確認資料夾及其佔用的總空間：",[231,232,237],"pre",{"className":233,"code":234,"language":235,"meta":236,"style":236},"language-bash shiki shiki-themes github-light github-dark","du -sh \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\ndu -sh \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\u002F* 2>\u002Fdev\u002Fnull | sort -h\n","bash","",[23,238,239,263],{"__ignoreMap":236},[240,241,244,248,252,256,260],"span",{"class":242,"line":243},"line",1,[240,245,247],{"class":246},"sScJk","du",[240,249,251],{"class":250},"sj4cs"," -sh",[240,253,255],{"class":254},"sZZnC"," \"",[240,257,259],{"class":258},"sVt8B","$HOME",[240,261,262],{"class":254},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\n",[240,264,266,268,270,272,274,277,280,284,287,290,293],{"class":242,"line":265},2,[240,267,247],{"class":246},[240,269,251],{"class":250},[240,271,255],{"class":254},[240,273,259],{"class":258},[240,275,276],{"class":254},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\u002F",[240,278,279],{"class":250},"*",[240,281,283],{"class":282},"szBVR"," 2>",[240,285,286],{"class":254},"\u002Fdev\u002Fnull",[240,288,289],{"class":282}," |",[240,291,292],{"class":246}," sort",[240,294,295],{"class":250}," -h\n",[11,297,298],{},"每個專案資料夾通常會以可辨識的專案名稱開頭，後面接著一段唯一識別字串。可以先在 Finder 中開啟檢查：",[231,300,302],{"className":233,"code":301,"language":235,"meta":236,"style":236},"open \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"\n",[23,303,304],{"__ignoreMap":236},[240,305,306,309,311,313],{"class":242,"line":243},[240,307,308],{"class":246},"open",[240,310,255],{"class":254},[240,312,259],{"class":258},[240,314,262],{"class":254},[11,316,317],{},"若要永久刪除單一專案，請將範例資料夾名稱換成你在輸出結果中看到的完整名稱：",[231,319,321],{"className":233,"code":320,"language":235,"meta":236,"style":236},"rm -rf \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FYourProject-xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n",[23,322,323],{"__ignoreMap":236},[240,324,325,328,331,333,335],{"class":242,"line":243},[240,326,327],{"class":246},"rm",[240,329,330],{"class":250}," -rf",[240,332,255],{"class":254},[240,334,259],{"class":258},[240,336,337],{"class":254},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\u002FYourProject-xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n",[11,339,340],{},"若要永久刪除預設 Derived Data 資料夾內的所有項目：",[231,342,344],{"className":233,"code":343,"language":235,"meta":236,"style":236},"find \"$HOME\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\" \\\n  -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n",[23,345,346,361],{"__ignoreMap":236},[240,347,348,351,353,355,358],{"class":242,"line":243},[240,349,350],{"class":246},"find",[240,352,255],{"class":254},[240,354,259],{"class":258},[240,356,357],{"class":254},"\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\"",[240,359,360],{"class":250}," \\\n",[240,362,363,366,369,372,374,377,380,382,385],{"class":242,"line":265},[240,364,365],{"class":250},"  -mindepth",[240,367,368],{"class":250}," 1",[240,370,371],{"class":250}," -maxdepth",[240,373,368],{"class":250},[240,375,376],{"class":250}," -exec",[240,378,379],{"class":254}," rm",[240,381,330],{"class":250},[240,383,384],{"class":254}," {}",[240,386,387],{"class":254}," +\n",[11,389,390],{},"這些指令不會經過垃圾桶。按下 Return 前，務必再看一次完整路徑；如果 Xcode 正在建置、測試或建立索引，請不要執行最後一段指令。",[34,392,394],{"id":393},"方法三先試試-clean-build-folder","方法三：先試試 Clean Build Folder",[11,396,397,398,401],{},"如果只有一個專案出現建置問題，且不需要連同索引及其他工作區資料一起刪除，可以先在 Xcode 中執行 ",[15,399,400],{},"Product → Clean Build Folder","。Apple 也將這個操作列為疑難排解方式之一。",[11,403,404],{},"工作區對應的指令可能如下：",[231,406,408],{"className":233,"code":407,"language":235,"meta":236,"style":236},"xcodebuild \\\n  -workspace YourApp.xcworkspace \\\n  -scheme YourApp \\\n  clean\n",[23,409,410,417,427,438],{"__ignoreMap":236},[240,411,412,415],{"class":242,"line":243},[240,413,414],{"class":246},"xcodebuild",[240,416,360],{"class":250},[240,418,419,422,425],{"class":242,"line":265},[240,420,421],{"class":250},"  -workspace",[240,423,424],{"class":254}," YourApp.xcworkspace",[240,426,360],{"class":250},[240,428,430,433,436],{"class":242,"line":429},3,[240,431,432],{"class":250},"  -scheme",[240,434,435],{"class":254}," YourApp",[240,437,360],{"class":250},[240,439,441],{"class":242,"line":440},4,[240,442,443],{"class":254},"  clean\n",[11,445,446],{},"這個做法的範圍比刪除整個 Derived Data 資料夾小。它只會要求目前選取的建置系統清除該專案的建置成果，不是針對所有 Xcode 工作區的磁碟清理指令。",[34,448,450],{"id":449},"清除後會發生什麼事","清除後會發生什麼事？",[11,452,453],{},"第一次建置通常會比較慢。Xcode 必須重新建置各個 target、建立索引，還可能需要再次解析或下載 Package 資料。在索引完成前，程式碼自動完成與跳至定義也可能暫時不完整。",[11,455,456],{},"專案檔案、Git 歷史記錄、簽署憑證、Provisioning Profile 和 Xcode Archives 都不在預設的 Derived Data 根目錄中。只刪除本文說明的確切路徑，就不會影響這些內容。",[11,458,459],{},"如果完整重建後原本的錯誤再次出現，問題根源很可能不是 Derived Data。此時應查看第一個有意義的編譯錯誤、套件相依性解析、目前使用的 Xcode 版本與專案 Build Settings，而不是反覆清除快取。",[34,461,463],{"id":462},"使用-mangodisk-檢查-xcode-derived-data","使用 MangoDisk 檢查 Xcode Derived Data",[11,465,466,467,472],{},"如果希望先確認大小與確切位置，再決定是否清除，",[468,469,471],"a",{"href":470},"\u002Ftw\u002Fdocs\u002Ffeatures\u002Fdeep-clean","MangoDisk 深度清理","包含專門處理 Xcode Derived Data 的規則。",[11,474,475,476,478,479,203],{},"這項規則刻意將範圍限制得很明確：只處理預設的 ",[23,477,25],{}," 根目錄、要求先關閉 Xcode，而且預設不會選取。它不包含專案原始碼、Archives、簽署資料、模擬器裝置或已安裝的模擬器執行階段。掃描全程在本機進行，清理前也會由你確認結果。完整的確認與清理紀錄流程，請參閱 ",[468,480,482],{"href":481},"\u002Ftw\u002Fdocs\u002Fsafety","MangoDisk 安全性指南",[34,484,485],{"id":485},"常見問題",[487,488,490],"h3",{"id":489},"xcode-開啟時可以刪除-derived-data-嗎","Xcode 開啟時可以刪除 Derived Data 嗎？",[11,492,493],{},"不要在建置、測試或建立索引期間刪除。請先結束 Xcode，避免清理時檔案仍持續寫入。",[487,495,497],{"id":496},"刪除-derived-data-能修正所有-xcode-建置錯誤嗎","刪除 Derived Data 能修正所有 Xcode 建置錯誤嗎？",[11,499,500],{},"不能。它適合處理過期或狀態不一致的產生資料，但無法修正原始碼錯誤、無效簽署、缺少相依套件或錯誤的建置設定。",[487,502,504],{"id":503},"多久需要清除一次","多久需要清除一次？",[11,506,507],{},"只有在能釋放可觀的磁碟空間，或有跡象顯示建置資料已經異常時，才需要清除。每次建置後都刪除正常的 Derived Data 並沒有好處。",[487,509,511],{"id":510},"為什麼清除後資料夾又出現了","為什麼清除後資料夾又出現了？",[11,513,514],{},"這是正常現象。只要再次建置專案或建立索引，Xcode 就會重新建立 Derived Data。清除的目的是移除舊的產生資料，不是停用之後的建置快取。",[34,516,517],{"id":517},"參考資料",[42,519,520,528,535,542],{},[45,521,522],{},[468,523,527],{"href":524,"rel":525},"https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002FXcode-Release-Notes\u002Fxcode-26-release-notes",[526],"nofollow","Xcode 26 Release Notes：清除 Derived Data 的疑難排解步驟",[45,529,530],{},[468,531,534],{"href":532,"rel":533},"https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Ftechnotes\u002Ftn3118-debugging-your-apps-launch-screen",[526],"Apple Technical Note TN3118：Debugging Your App’s Launch Screen（包含 Clean Build Folder 步驟）",[45,536,537],{},[468,538,541],{"href":539,"rel":540},"https:\u002F\u002Fdeveloper.apple.com\u002Flibrary\u002Farchive\u002Fdocumentation\u002FXcode\u002FConceptual\u002FRN-Xcode-Archive\u002FChapters\u002Fxc4_release_notes.html",[526],"Xcode 4 Release Notes：Derived Data 中的工作區索引",[45,543,544],{},[468,545,547],{"href":546},"\u002Ftw\u002Fblog\u002Fcargo-cache-vs-target-folder","Cargo 快取和 target 資料夾有什麼不同？",[11,549,550,551,555],{},"想先以視覺化方式查看開發工具產生的資料，再決定要移除哪些內容？可以",[468,552,554],{"href":553},"\u002Ftw","下載 MangoDisk","，在本機執行深度清理。",[557,558,559],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":236,"searchDepth":265,"depth":265,"links":561},[562,563,564,565,566,567,568,569,575],{"id":36,"depth":265,"text":37},{"id":85,"depth":265,"text":86},{"id":186,"depth":265,"text":187},{"id":225,"depth":265,"text":226},{"id":393,"depth":265,"text":394},{"id":449,"depth":265,"text":450},{"id":462,"depth":265,"text":463},{"id":485,"depth":265,"text":485,"children":570},[571,572,573,574],{"id":489,"depth":429,"text":490},{"id":496,"depth":429,"text":497},{"id":503,"depth":429,"text":504},{"id":510,"depth":429,"text":511},{"id":517,"depth":265,"text":517},"開發者磁碟清理","\u002Fimages\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely.webp","Mac 開發者檢查 Xcode Derived Data 建置資料與磁碟空間使用情形","了解 Xcode Derived Data 包含哪些內容、何時可以刪除，以及如何只清除單一專案或整個資料夾而不影響原始碼",false,"md",{},true,"\u002Ftw\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely","2026-08-10T00:00:00+08:00",{"title":5,"description":579},"tw\u002Fblog\u002Fhow-to-clear-xcode-derived-data-safely",[589,590,591,576],"Xcode Derived Data","Xcode 快取","macOS","article-how-to-clear-xcode-derived-data-safely","2026-08-12T00:00:00+08:00","rk4i94Gg9t39Z5-PghWhBRHQ1qF8tzBX11fw6BhcCbw",1786706051551]