איך להסיר לחלוטין את Xcode מ-Mac בלי לאבד פרויקטים או dSYM
צוות AskClean · עודכן 2026-09-01
לפני הסרה מלאה של Xcode, גבו פרויקטי מקור ושמרו Archives ו-dSYM שעדיין דרושים ל-builds מופצים. לאחר מכן העבירו את היישום לסל ובדקו בנפרד DerivedData, סימולטורים, DeviceSupport וכלי שורת פקודה.

הגנו על מידע שלא ניתן ליצור מחדש לפני ההסרה
תיקיות פרויקט אינן שאריות של Xcode. הגנו על repositories, קבצים שלא בוצע להם commit, חבילות מקומיות ונכסים. שמרו Archives/dSYM של גרסאות פעילות ב-App Store, ב-TestFlight או אצל לקוחות, וכן מצב Simulator חשוב.
- סגרו קודם את Xcode. מחיקת DerivedData בזמן ש-Xcode רץ עלולה לבלבל את האינדקסר שלו, וקבצים ש-Xcode מחזיק פתוחים עלולים לא להימחק כראוי.
- מצאו את התיקייה: ב-Xcode, פתחו Settings > Locations ולחצו על החץ הקטן ליד נתיב ה-DerivedData כדי לחשוף אותו ב-Finder. או ב-Finder הקישו Command-Shift-G והזינו ישירות ~/Library/Developer/Xcode/DerivedData.
- מיינו את תת-תיקיות הפרויקטים לפי גודל, בחרו את אלה שאתם רוצים להעלים (או Command-A לכולן) והעבירו אותן לפח האשפה. פח האשפה קודם הוא ההרגל הבטוח יותר — אפשר לשחזר מיידית אם תתחרטו.
- מ-Terminal במקום זאת: rm -rf ~/Library/Developer/Xcode/DerivedData מוחק הכול במכה אחת. זה מהיר יותר מ-Finder עבור תיקיות גדולות מאוד, אבל קראו את ההערה למטה לפני השימוש.
- פתחו מחדש את Xcode ובנו. צפו שהבנייה הראשונה של כל פרויקט תארך משמעותית יותר, ושה-"Indexing" ירוץ בסרגל הפעילות זמן מה — שניהם עלויות חד-פעמיות.
היזהרו עם rm -rf: הפקודה עוקפת את פח האשפה ומוחקת לצמיתות, בלי ביטול. הקלידו את הנתיב במדויק, לעולם אל תריצו אותה עם sudo למשימה הזו, ואם אתם לא מרגישים בנוח ב-Terminal — מסלול ה-Finder עושה את אותה עבודה באופן הפיך.
מוחקים את DerivedData
יש שלוש דרכים לעשות זאת, וכולן מסתיימות באותו מקום. הפקודה Clean Build Folder של Xcode (Product > Clean Build Folder, או Command-Shift-K) מנקה תוצרי בנייה רק עבור הפרויקט הפתוח כרגע — שימושית לתיקון בנייה מוזרה, אבל בקושי מזיזה את מחוג שטח הדיסק. כדי להחזיר מקום אמיתי, מוחקים את תיקיות ה-DerivedData עצמן.
מחיקה פרויקט-פרויקט היא האפשרות הכירורגית: משאירים את DerivedData לשניים-שלושה הפרויקטים שאתם בונים מדי יום, ומסירים את התיקיות של כל השאר. מחיקת הכול היא האפשרות המהירה, וגם היא בסדר — פשוט משלמים את מחיר הבנייה המלאה מחדש על כל הפרויקטים בבת אחת.
הסירו את היישום באותה שיטה שבה הותקן
צאו מ-Xcode ומ-Simulator והעבירו את Xcode.app הנכון לסל באמצעות Finder. אל תמחקו אוטומטית את /Library/Developer/CommandLineTools; ייתכן ש-Git, Homebrew, clang וסקריפטי build עדיין תלויים בהם.
מטמוני מנהלי חבילות (SwiftPM, CocoaPods, npm, Homebrew)
מנהלי חבילות שומרים כל תלות שהורידו אי-פעם כדי שהתקנות עתידיות יהיו מהירות. זו הנדסה טובה והיגיינת דיסק גרועה: המטמונים רק גדלים, ובמחשב שראה כמה שנים של פרויקטים הם מצטברים בשקט ל-10-20 GB. את כולם בטוח לפנות — במקרה הגרוע ההתקנה הבאה תוריד מחדש חבילות.
Swift Package Manager שומר חבילות שהורדו ב-~/Library/Caches/org.swift.swiftpm, וה-checkouts שנפתרו של כל פרויקט חיים גם בתוך תיקיית ה-DerivedData שלו — כך שפינוי DerivedData כבר מנקה אותם. את המטמון המשותף אפשר למחוק מ-Finder, או עם rm -rf על הנתיב הזה.
אמתו הכול לפני ריקון סל האשפה
בדקו שוב את Applications, התהליכים ואת xcode-select -p. ודאו שהפרויקטים, Archives/dSYM הדרושים ונתוני Simulator נשארו לפני ריקון הסל. תצוגת System Data עשויה להתעדכן מאוחר יותר.
מפת בטיחות להסרה מלאה
הסירו את Xcode בבטחה והפרידו cache שניתן לבנות מחדש מ-Archives, DeviceSupport, נתוני Simulator ו-Command Line Tools.
| החלטה | מקום בדיקה או פעולה | השלכה ואימות |
|---|---|---|
| הגנו על מידע שלא ניתן ליצור מחדש לפני ההסרה | Projects / Xcode Organizer / Archives | תיקיות פרויקט אינן שאריות של Xcode. הגנו על repositories, קבצים שלא בוצע להם commit, חבילות מקומיות ונכסים. שמרו Archives/dSYM של גרסאות פעילות ב-App Store, ב-TestFlight או אצל לקוחות, וכן מצב Simulator חשוב. |
| הסירו את היישום באותה שיטה שבה הותקן | /Applications/Xcode.app / Finder | צאו מ-Xcode ומ-Simulator והעבירו את Xcode.app הנכון לסל באמצעות Finder. אל תמחקו אוטומטית את /Library/Developer/CommandLineTools; ייתכן ש-Git, Homebrew, clang וסקריפטי build עדיין תלויים בהם. |
| אמתו הכול לפני ריקון סל האשפה | xcode-select -p / Activity Monitor | בדקו שוב את Applications, התהליכים ואת xcode-select -p. ודאו שהפרויקטים, Archives/dSYM הדרושים ונתוני Simulator נשארו לפני ריקון הסל. תצוגת System Data עשויה להתעדכן מאוחר יותר. |
שאלות נפוצות
האם אפשר למחוק את כל ~/Library/Developer?
לא. התיקייה כוללת DerivedData שניתן לבנות מחדש לצד Archives/dSYM, DeviceSupport, runtimes ומצב Simulator; יש לבדוק כל קטגוריה בנפרד.
האם בטוח למחוק את DerivedData?
כן — זו אחת המחיקות הגדולות הבטוחות ביותר ב-Mac. DerivedData מכיל רק קבצים ש-Xcode מייצר מהמקור שלכם: תוצרי בנייה, מטמוני מודולים, אינדקסים ויומנים. הקוד, קובצי הפרויקט והיסטוריית ה-git שלכם חיים במקום אחר ולעולם לא מושפעים. ההשלכה היחידה היא שהבנייה הבאה של כל פרויקט היא בנייה מלאה מחדש, והאינדוקס רץ שוב.
באיזו תדירות כדאי לפנות את DerivedData?
אין לוח זמנים מחייב — מפנים כשהוא גדול מספיק כדי שיהיה חשוב, שאצל רוב המפתחים הפעילים זה כל חודש-חודשיים. שני רגעים תמיד מצדיקים את זה: כשצריך מקום בדיסק מהר, וכשפרויקט מציג שגיאות בנייה בלתי מוסברות או השלמת קוד מיושנת — שם מחיקת DerivedData היא התיקון הראשון המקובל.
מקורות