Slet gamle Xcode Archives uden at miste dSYM-filer
AskClean-teamet · Opdateret 2026-11-02
Ja, du kan slette gamle Xcode Archives — men først når du har bekræftet, at buildet er udfaset, og at dets dSYM ikke længere skal bruges til crashrapporter. Gennemgå hver .xcarchive for sig i Organizer i Xcode, behold alle builds, der stadig er i App Store eller TestFlight, og flyt kun arkiver, som nyere versioner har afløst, til papirkurven.

Et arkiv er ikke cache
Product > Archive opretter en .xcarchive-pakke i ~/Library/Developer/Xcode/Archives med den præcise binære fil, build-metadata og som regel de tilhørende dSYM-filer. DerivedData kan bygges igen fra kildekoden, men en dSYM er knyttet til ét bestemt builds UUID: Bygger du samme commit igen, får den nye binære fil et andet UUID, og du får ingen tilsvarende erstatning. Mangler den rigtige dSYM, kan crashrapporter for den version kun vise hukommelsesadresser i stedet for funktionsnavne og kildelinjer.
Lav en oversigt, før du sletter
I Window > Organizer > Archives ser du app, version, buildnummer, oprettelsesdato og distributionsstatus for hvert arkiv. Lav en liste over, hvad der skal beholdes, før du laver en sletteliste: alle versioner, som brugerne stadig har, aktive TestFlight-builds, Enterprise- og Ad Hoc-builds, der stadig er installeret, og udgivelser, hvis crashes du stadig kan få brug for at undersøge. En vellykket upload gør ikke det lokale arkiv overflødigt, og filens alder alene er ikke et sikkert kriterium. Vil du se, hvor meget arkiverne fylder, så kør kommandoen du -sh ~/Library/Developer/Xcode/Archives i Terminal — den ændrer ingenting.
- Åbn Window > Organizer, og vælg Archives.
- Vælg appen, og noter version og buildnummer for alle App Store-, TestFlight-, Enterprise- og Ad Hoc-builds, der stadig er i brug.
- Kontroller, at de nødvendige symboler er uploadet, hvor det er relevant, og kopier uerstattelige arkiver til et lager med sikkerhedskopi.
- Marker kun afløste udgivelseskandidater, opgivne interne builds og udfasede versioner, hvis crashes du ikke længere undersøger.
- Slet én kandidat ad gangen i Organizer, kontroller, at de forventede arkiver stadig er der, og tøm først derefter papirkurven.
En dato alene er ikke en sikker opbevaringsregel. En ældre produktionsversion kan stadig være installeret på kundernes enheder længe efter, at en nyere er udkommet.
Slet, så det kan fortrydes
Slet helst i Organizer, hvor app, version og buildnummer står ved siden af handlingen, og tag én kandidat ad gangen. Brug kun Finder, hvis Organizer ikke kan åbne en gammel eller beskadiget pakke: Sammenhold først Info.plist med din oversigt, og flyt derefter netop den .xcarchive-pakke til papirkurven — aldrig en hel datomappe. Rediger ikke filer inde i pakken, og tøm ikke papirkurven, før du har åbnet Organizer igen og kontrolleret, at de builds, du skal bruge, stadig kan eksporteres. Permanent sletning i Terminal fjerner den sikkerhedsmargin uden at gøre oprydningen mere korrekt.
Fastlæg en opbevaringspolitik
Tag udgangspunkt i udgivelsesstatus, ikke i filens alder: Behold alt, der distribueres, nyligt afløste produktionsbuilds, så længe du modtager crashrapporter for dem, og Enterprise-builds, indtil installationerne udløber. Noter for hver udgivelse, hvor arkivet ligger, om dSYM-filerne er uploadet, hvor sikkerhedskopien er, og hvornår buildet må slettes. Ved akut pladsmangel bør du starte med DerivedData og andet, der kan genskabes. AskClean viser hver .xcarchive for sig med en advarsel om, at sletningen ikke kan gøres om, og behandler aldrig arkiver som cache til massesletning; det, du bekræfter, slettes permanent.
Overblik over beslutninger og risici
Se, hvilke Xcode Archives du kan slette, hvor .xcarchive-filerne ligger, hvordan du rydder udfasede builds i Organizer, og hvornår du skal beholde dSYM-filerne.
| Element | Her tjekker du | Konsekvens og grænser |
|---|---|---|
| Et arkiv er ikke cache | ~/Library/Developer/Xcode/Archives | Product > Archive opretter en .xcarchive-pakke i ~/Library/Developer/Xcode/Archives med den præcise binære fil, build-metadata og som regel de tilhørende dSYM-filer. |
| Lav en oversigt, før du sletter | Window > Organizer > Archives | I Window > Organizer > Archives ser du app, version, buildnummer, oprettelsesdato og distributionsstatus for hvert arkiv. |
| Slet, så det kan fortrydes | Organizer / Finder / papirkurven | Slet helst i Organizer, hvor app, version og buildnummer står ved siden af handlingen, og tag én kandidat ad gangen. |
| Fastlæg en opbevaringspolitik | oversigt over udgivelser / sikkerhedskopi | Tag udgangspunkt i udgivelsesstatus, ikke i filens alder: Behold alt, der distribueres, nyligt afløste produktionsbuilds, så længe du modtager crashrapporter for dem, og Enterprise-builds, indtil installationerne udløber. |
FAQ
Kan jeg slette alt i ~/Library/Developer/Xcode/Archives?
Ikke som én samlet handling. Arkiverne kan indeholde de præcise dSYM-filer og binære filer til distribuerede builds. Behold alle produktions-, TestFlight-, Enterprise- og Ad Hoc-builds, der er i brug, og alle versioner, hvis crashes du stadig kan få brug for at undersøge.
Forsvinder appen fra App Store, hvis jeg sletter et arkiv?
Nej. Sletter du en lokal .xcarchive, fjerner det ikke en allerede uploadet app fra App Store Connect eller kundernes enheder. Du mister kun dit lokale udgivelsesartefakt, som du måske stadig skal bruge til ny eksport eller symbolikering.
Kan jeg genskabe en dSYM ved at bygge samme commit igen?
Ikke pålideligt. En dSYM skal matche UUID'et for den distribuerede binære fil, og et nyt build får en anden identitet. Behold det oprindelige arkiv eller de tilhørende dSYM-filer.
Kilder