Varje iOS-, macOS-, watchOS- och visionOS-utvecklare delar samma återkommande mardröm: att vakna till en varning som säger att din Mac har mindre än 5 GB diskutrymme kvar. Du har inte laddat ner några spel eller filmer – så var tog din 512 GB SSD vägen? I 95 % av fallen är boven Xcode DerivedData och bygga cacher.

Under aktiv kompilering genererar Xcode mellanliggande objektfiler, förkompilerade rubriker, indexeringssymboltabeller och kompilatormodulcacher. Under månader av att bygga olika grenar och beroenden beskär dessa mappar aldrig själv. Så här tar du tillbaka 50 GB till 100 GB utvecklardiskutrymme rent och säkert.

Xcode DerivedData och Build Cache Optimization
Säker rensa mellanbyggda produkter och symboldiagram på Apple Silicon.

Där Xcode gömmer sina tunga diskcacher

Xcode distribuerar sina temporära byggprodukter och supportfiler över fem primära kataloger:

  • DerivedData (~/Library/Developer/Xcode/DerivedData): Mellanliggande objektfiler, indexdatabaser och byggprodukter. Förbrukar 20 GB–60 GB.
  • iOS DeviceSupport (~/Library/Developer/Xcode/iOS DeviceSupport): Symboler från varje fysisk iPhone eller iPad som du någonsin har kopplat in. Förbrukar 5GB–15GB per iOS-version.
  • Arkiv (~/Library/Developer/Xcode/Archives): Gamla .xcarchive-byggen sparas när man skapar produktionsversioner av App Store. Kan växa till 40 GB+ under ett år.
  • Swift Package Manager Cache (~/Library/Caches/org.swift.swiftpm): Klonade git-repositories och kompilerade utcheckningsbinärer för SPM-beroenden.
  • XCTestDevices (~/Library/Developer/XCTestDevices): Föräldralösa temporära simulatorkloner skapade under parallelliserade testkörningar.

Är det säkert att ta bort DerivedData?

Ja, absolut. DerivedData är 100 % regenererbart. Nästa gång du öppnar ett projekt och trycker på Cmd+B, kommer Xcode att indexera om din kod och kompilera nödvändiga objektfiler. Den enda kostnaden är en något längre initial byggtid vid första körningen.

Manuell radering via terminal vs. MagicMacCleaner

Du kan ta bort DerivedData manuellt genom att avsluta Xcode och köra: rm -rf ~/Library/Developer/Xcode/DerivedData/*. Men manuell radering av terminal raderar alla dina projekt på en gång – även det du arbetar med just nu.

MagicMacCleaners dedikerade Xcode Deep Clean-modul löser detta genom att läsa ändringsdatumet för varje projektundermapp. Det låter dig hålla aktiva projekt intakta samtidigt som du rensar vilande klienter och äldre arkiv med ett klick.

Arbetsflöde för mobilutvecklare: Frigör lagringsutrymme på fysiska test-iPhones

Medan du rensar Xcode-cachar, simulatorkörningstider och bygger behållare frigör viktigt utrymme på din Mac, blir fysiska iOS-testenheter snabbt igensatta med testversioner, kraschartefakter, diagnostiska skärminspelningar och QA-skärmdumpar. Att hålla din fysiska testmaskinvara smidig är avgörande för snabb felsökning på enheten och pålitlig distribution.

  • Clearly Smart Storage Cleaner: Komprimerar gigabyte-tunga buggrapporter på skärminspelningar, upptäcker och registrerar dubbletter av personliga media på skärminspelningar, upptäcker och kontaktar dup iPhones.
  • Swipe Photo Cleaner: Granska och rensa snabbt hundratals gränssnittstestskärmdumpar och demoserier med enkel svep-till.
    Apple Ecosystem Dev Tips: Testa enhetsoptimering

Apple Ecosystem Dev Tips: Testa enhetsoptimering

Lågt lagringsutrymme på anslutna iOS-enheter kan orsaka tidsgränser för Xcode trådlös distribution och LLDB-felsökningsfel. Regelbunden mediarensning på enheten förhindrar kryptiska konstruktionsdistributionsfel.