איך למחוק Xcode Archives ישנים בלי לאבד סמלי קריסה
צוות AskClean · עודכן 2026-07-31
מחקו Xcode Archive רק אחרי שווידאתם שהגרסה אינה מופצת עוד ושקובץ dSYM שלה לא יידרש להמרת דוחות קריסה לשמות סמלים. עברו על ה-builds ב-Organizer, שמרו builds פעילים של App Store, TestFlight, Enterprise ו-Ad Hoc, והעבירו לפח האשפה רק archives שהוצאו משימוש.

Archive אינו מטמון
הפקודה Product > Archive יוצרת .xcarchive עם קובץ ה-binary המדויק, metadata ובדרך כלל dSYM תואם בתוך ~/Library/Developer/Xcode/Archives. אפשר לבנות מחדש DerivedData מקוד המקור; dSYM תואם ל-UUID של build מסוים, והידור מחדש של אותו commit אינו יוצר תחליף זהה.
בדקו את ה-builds לפני המחיקה
ב-Window > Organizer > Archives אפשר לראות אפליקציה, גרסה, מספר build, תאריך ומצב הפצה. שמרו כל build שעדיין מותקן או נמצא בתקופת התמיכה וניתוח הקריסות. גיל הקובץ לבדו אינו קריטריון בטוח למחיקה.
- פתחו Window > Organizer ובחרו Archives.
- רשמו builds פעילים של App Store, TestFlight, Enterprise ו-Ad Hoc.
- אמתו את קובצי dSYM וגבו archives שאין להם תחליף.
- סמנו רק builds פנימיים שננטשו או גרסאות שאינן נתמכות.
- מחקו אחד-אחד, בדקו את הנותרים ורק אז רוקנו את פח האשפה.
Build ישן עשוי להישאר מותקן חודשים; החליטו לפי מצב ההפצה והתמיכה, לא לפי התאריך בלבד.
מחקו באופן הפיך
העדיפו את Organizer ומחקו מועמד אחד בכל פעם. השתמשו ב-Finder רק אם Organizer אינו קורא חבילה ישנה, ולאחר השוואת Info.plist לרשימת הבדיקה. אל תשנו את תוכן ה-.xcarchive ואל תרוקנו את פח האשפה לפני האימות.
קבעו מדיניות שמירה
לכל release תעדו את מיקום ה-archive, העלאת הסמלים, הגיבוי ותאריך המחיקה. כשיש מחסור דחוף במקום התחילו ב-DerivedData ובנתונים שניתנים לבנייה מחדש. AskClean מציג Archives בנפרד ואינו מתייחס אליהם כמטמון למחיקה המונית.
השוואת החלטות וסיכונים
בדקו כל קובץ .xcarchive, שמרו dSYM של גרסאות מופצות ומחקו רק builds שהוצאו משימוש.
| החלטה | היכן לבדוק | גבול הבטיחות |
|---|---|---|
| Archive אינו מטמון | ~/Library/Developer/Xcode/Archives | הפקודה Product > Archive יוצרת .xcarchive עם קובץ ה-binary המדויק, metadata ובדרך כלל dSYM תואם בתוך ~/Library/Developer/Xcode/Archives. אפשר לבנות מחדש DerivedData מקוד המקור; dSYM תואם ל-UUID של build מסוים, והידור מחדש של אותו commit אינו יוצר תחליף זהה. |
| בדקו את ה-builds לפני המחיקה | Window > Organizer > Archives | ב-Window > Organizer > Archives אפשר לראות אפליקציה, גרסה, מספר build, תאריך ומצב הפצה. שמרו כל build שעדיין מותקן או נמצא בתקופת התמיכה וניתוח הקריסות. גיל הקובץ לבדו אינו קריטריון בטוח למחיקה. |
| מחקו באופן הפיך | Organizer / Finder / Trash | העדיפו את Organizer ומחקו מועמד אחד בכל פעם. השתמשו ב-Finder רק אם Organizer אינו קורא חבילה ישנה, ולאחר השוואת Info.plist לרשימת הבדיקה. אל תשנו את תוכן ה-.xcarchive ואל תרוקנו את פח האשפה לפני האימות. |
| קבעו מדיניות שמירה | Release inventory / backup | לכל release תעדו את מיקום ה-archive, העלאת הסמלים, הגיבוי ותאריך המחיקה. כשיש מחסור דחוף במקום התחילו ב-DerivedData ובנתונים שניתנים לבנייה מחדש. AskClean מציג Archives בנפרד ואינו מתייחס אליהם כמטמון למחיקה המונית. |
שאלות נפוצות
אפשר למחוק את כל תיקיית Archives?
לא בלי בדיקה. ייתכן שהיא מכילה את ה-binary וה-dSYM היחידים של גרסה שהופצה.
האם האפליקציה תוסר מ-App Store?
לא. יאבד רק התוצר המקומי שמשמש לייצוא מחדש או להמרת דוח הקריסה של אותו build לשמות סמלים.
אפשר ליצור מחדש dSYM מאותו commit?
לא באופן אמין; הוא חייב להתאים בדיוק ל-UUID של ה-binary שהופץ.
מקורות