16/09/2024
Som iOS-udviklere kender vi alle kampen: Xcode kan være en sand pladssluger, og med tiden kan det ophobe sig så meget midlertidig data, at din Mac begynder at brokke sig over lav diskplads, eller endnu værre, Xcode selv begynder at opføre sig mærkeligt med uforklarlige fejl og langsom performance. Disse problemer kan være frustrerende og spise kostbar udviklingstid. Heldigvis er der en række enkle, men effektive trin, du kan tage for at rydde op i Xcode, optimere din arbejdsgang og genoprette den hurtighed, du har brug for.

Ofte er vores første refleks at søge efter et 'rengøringsscript' eller en app til at 'rydde op' i vores Mac. Mens disse kan hjælpe med at fjerne generelle cache-data, dykker de sjældent dybt nok ned i Xcode's specifikke, pladskrævende mapper. Xcode genererer store mængder midlertidige filer under kompilering, indeksering og test, og disse kan hurtigt vokse sig til gigabyte efter gigabyte. At vide, hvilke mapper der sikkert kan slettes, og hvordan man gør det, er afgørende for at holde dit udviklingsmiljø sundt og effektivt.
- Hvorfor er Xcode så pladskrævende?
- Hvad er Derived Data, og hvorfor skal jeg slette det?
- Sådan sletter du Derived Data via Organizer
- Manuel sletning af Derived Data via Finder
- Sletning af ModuleCache
- Ryd op i Xcode's Cache-filer
- Rens dit projekt-build (Clean Build)
- Nulstil iOS Simulator indhold og indstillinger
- Slet iOS enheds-supportfiler
- Fjern ubrugte simulatorer
- Administrer Xcode Archives
- Avancerede oprydningsmetoder (Terminal)
- Advarsel: Undgå private/var/folders
- Tabel over almindelige Xcode-problemer og løsninger
- Ofte Stillede Spørgsmål (FAQ)
Hvorfor er Xcode så pladskrævende?
Xcode er et komplekst udviklingsmiljø, der udfører mange opgaver i baggrunden for at give dig en gnidningsfri kodeoplevelse. Når du bygger et projekt, genererer Xcode kompileret kode, indekserer dine filer for hurtig søgning og autokomplettering, og gemmer midlertidige byggeprodukter. Disse processer skaber en række cache-filer og midlertidige data, som er nødvendige under udviklingen. Over tid kan disse midlertidige filer dog hobe sig op og optage en betydelig mængde diskplads. Hvis du arbejder på mange projekter eller ofte skifter mellem forskellige grene, kan mængden af disse data eksplodere.
Hvad er Derived Data, og hvorfor skal jeg slette det?
Den mest berygtede af disse pladsslugere er mappen Derived Data. Dette er stedet, hvor Xcode gemmer al den midlertidige byggeinformation, debug- og release-byggede targets, samt projektindekser. Hvis du oplever problemer med kodekomplettering, konstant re-indeksering, langsomme byggetider, eller uforklarlige kompilationsfejl, er Derived Data ofte synderen. Indholdet af Derived Data-mappen genereres, når Xcode bygger dit projekt, så det er helt sikkert at tømme den. Når du sletter denne mappe, vil Xcode genoprette den næste gang du kører dit projekt, hvilket ofte løser mange af de mystiske problemer, der kan opstå under udviklingen.
Sådan sletter du Derived Data via Organizer
Den mest 'kirurgiske' og anbefalede metode til at slette Derived Data for et specifikt projekt er via Xcode's Organizer:
- Åbn Xcode.
- Gå til menuen 'Window' i topbaren.
- Vælg 'Organizer'.
- I Organizer-vinduet skal du vælge fanen 'Projects'.
- Vælg det specifikke projekt, hvis Derived Data du ønsker at slette, fra listen til venstre.
- I højre side af vinduet vil du se 'Derived Data'-mappen listet sammen med dens placering i Finder.
- Til højre for mappestien er der en 'Delete'-knap (et tandhjul med et kryds). Tryk på den.
Dette vil kun slette Derived Data for det valgte projekt, hvilket er ideelt, hvis du kun har problemer med ét bestemt projekt.
Manuel sletning af Derived Data via Finder
Hvis du foretrækker en mere direkte tilgang eller ønsker at slette Derived Data for alle projekter på én gang, kan du gøre det manuelt via Finder:
- Luk Xcode fuldstændigt.
- Åbn Finder.
- Gå til menuen 'Go' (Gå) i Finder's topbar.
- Vælg 'Go to Folder...' (Gå til mappe...).
- Indtast stien:
~/Library/Developer/Xcode/DerivedData - Tryk på 'Go' (Gå).
- Du vil nu se indholdet af din Derived Data-mappe. Du kan trygt slette alt indholdet i denne mappe (eller flytte det til papirkurven).
Husk, at ~ repræsenterer din brugermappe, så denne placering er specifik for din brugerkonto.
Sletning af ModuleCache
Inden for Derived Data-mappen er der en undermappe kaldet ModuleCache. Denne cache kan også forårsage problemer. Efter at have slettet den overordnede Derived Data-mappe, er det en god idé at sikre, at ModuleCache også er tom:
- Gå til stien:
~/Library/Developer/Xcode/DerivedData/ModuleCache. - Træk filerne fra ModuleCache-mappen til papirkurven og tøm den.
Ryd op i Xcode's Cache-filer
Udover Derived Data har Xcode også andre cache-filer, der kan hobe sig op. Det er sikkert at slette mappen com.apple.dt.Xcode, da Xcode selv kan genskabe dens caches. Det kan dog tage lidt tid ved den første genstart, hvis Xcode skal downloade noget igen.
- Luk Xcode.
- Gå til Finder > Go > Go to Folder...
- Indtast stien:
~/Library/Caches/com.apple.dt.Xcode - Slet indholdet af denne mappe.
Rens dit projekt-build (Clean Build)
Før du ty til mere drastiske metoder, er det altid værd at prøve at rense dit projekt-build. Dette fjerner den aktuelle build og tvinger Xcode til at oprette en ny næste gang du kører koden. Dette kan ofte løse midlertidige kompilationsfejl.

- Med projektet åbent i Xcode, gå til menuen 'Product' i topbaren, og vælg 'Clean Build Folder'.
- Alternativt kan du bruge genvejen: Command + Shift + Option + K.
Denne metode er mere omfattende end blot 'Clean' (Command + Shift + K), da den rydder op i hele build-mappen, inklusive cache-filer.
Nulstil iOS Simulator indhold og indstillinger
Hvis ingen af de ovenstående trin løser dit problem, især hvis problemerne er relateret til iOS Simulator, kan du prøve at nulstille dens indhold og indstillinger. Dette er især nyttigt, hvis simulatorer opfører sig mærkeligt, apps ikke installeres korrekt, eller data er korrupt.
- Start iOS Simulator (fra Xcode > Xcode > Open Developer Tool > Simulator).
- I Simulator-menuen i topbaren, vælg 'Device' > 'Erase All Content and Settings...'.
- Bekræft handlingen.
Slet iOS enheds-supportfiler
Inde i DerivedData-mappen er der en anden mappe kaldet iOS DeviceSupport. For hver iOS-version, du tester ved hjælp af simulatoren eller en fysisk enhed, oprettes en ny mappe inde i denne. Dette kan bygge sig op over tid og optage betydelig plads. Du kan slette alle disse undermapper (men ikke selve iOS DeviceSupport-mappen), og Xcode vil oprette nye, når du næste gang kører simulatoren eller tilslutter en enhed. Hvis du er usikker på at slette dem helt, kan du flytte dem til en midlertidig mappe, indtil du er sikker på, at flytningen ikke har forårsaget problemer, og derefter slette dem.
- Luk Xcode.
- Gå til Finder > Go > Go to Folder...
- Indtast stien:
~/Library/Developer/Xcode/iOS DeviceSupport/ - Slet de specifikke iOS-versionsmapper, du ikke længere har brug for.
Fjern ubrugte simulatorer
Nogle gange skal du downloade yderligere simulatorer af ældre iOS-versioner for at teste dine apps. Men når du ikke længere har brug for disse simulatorer, er det en god idé at slippe af med dem. En simulator tager omtrent samme størrelse som den tilsvarende iOS-version.
- Åbn Xcode.
- Gå til Xcode > Preferences... (Indstillinger...).
- Vælg fanen 'Components'.
- Her kan du se en liste over installerede simulatorer. Vælg den simulator, du vil fjerne, og klik på 'Delete' (sletteknappen).
Du kan også finde disse simulatorer manuelt (men vær forsigtig, da stien er på systemniveau):
- Gå til Finder > Go > Go to Folder...
- Indtast stien:
/Library/Developer/CoreSimulator/Profiles/Runtimes(bemærk: stien er/Library, ikke~/Library, hvilket betyder, at den er global for alle brugere på maskinen). - Slet de mapper, der svarer til de simulatorer, du vil fjerne.
Administrer Xcode Archives
Xcode Archives er en anden potentiel pladssluger. Da du altid genererer et arkiv for hver udgivelse, kan det over tid akkumulere til en stor mængde data. Disse arkiver indeholder en release-build af din app samt dSYM-data til senere fejlfinding og symbolisering af crash-rapporter. Du bør ikke slette arkiver, hvis du ønsker at kunne debugge implementerede versioner af din app.
For at slette arkiver, du ikke længere har brug for:
- Åbn Xcode.
- Gå til menuen 'Window' > 'Organizer'.
- Vælg fanen 'Archives'.
- Højreklik på det arkiv, du vil slette, og vælg 'Delete' (Slet).
- Alternativt kan du vælge 'Show in Finder' (Vis i Finder) for at finde
.xcarchive-filen og slette den manuelt.
Placeringen af denne mappe er typisk: ~/Library/Developer/Xcode/Archives.
Avancerede oprydningsmetoder (Terminal)
Hvis ingen af de ovenstående trin hjælper, og du stadig oplever vedvarende problemer med Xcode, kan du bruge Terminal til at nulstille Xcodes præferencer. Dette vil tvinge Xcode til at oprette nye præferencer, som kan løse dybtliggende konfigurationsproblemer.

- Start Terminal (findes i 'Applications' > 'Utilities').
- Indtast følgende kommando:
defaults delete com.apple.dt.Xcode - Tryk Enter.
Når du næste gang starter Xcode, vil det oprette nye præferencer. Vær opmærksom på, at dette vil nulstille alle dine Xcode-indstillinger, så du muligvis skal konfigurere dem igen.
Advarsel: Undgå private/var/folders
Der er også en metode til at rense cache-filer, der involverer at navigere til private/var/folders (brug 'Go'-menuen i Finder og vælg 'Go to Folder', indtast derefter den sti), grave gennem mapper, indtil du finder en Xcode cache-fil og slette den. Vi vil dog ikke anbefale denne rute, medmindre du er absolut sikker på, hvad du laver. Fjernelse af den forkerte fil kan skabe mange problemer, ikke kun i Xcode, men i hele macOS. I nogle tilfælde har brugere, der har gjort det, været nødt til at geninstallere macOS fra bunden. Hold dig til de mere sikre metoder beskrevet ovenfor.
Tabel over almindelige Xcode-problemer og løsninger
| Problem | Sandsynlig årsag | Anbefalet løsning(er) |
|---|---|---|
| Langsomme byggetider / konstant re-indeksering | Korrupt Derived Data, store caches | Slet Derived Data, Ryd op i Xcode Caches |
| Uforklarlige kompilationsfejl / 'module not found' | Korrupt ModuleCache, gammel build | Slet Derived Data (især ModuleCache), 'Clean Build Folder' |
| Lav diskplads advarsler | Ophobede Derived Data, Archives, Device Support filer | Slet Derived Data, Administrer Archives, Slet iOS Device Support filer |
| Simulator opfører sig mærkeligt / apps installeres ikke | Korrupt Simulator indhold/indstillinger | Nulstil iOS Simulator indhold og indstillinger |
| Xcode fryser / generelle ydeevneproblemer | Korrupte præferencer, overbelastede caches | Slet Derived Data, Ryd op i Xcode Caches, Nulstil Xcode præferencer via Terminal |
| Specifikke versioner af iOS-simulatorer fylder for meget | Ubrugte simulator-runtime filer | Fjern ubrugte simulatorer |
Ofte Stillede Spørgsmål (FAQ)
Er det sikkert at slette Derived Data?
Ja, det er helt sikkert. Derived Data indeholder kun midlertidige byggefiler og indekser, som Xcode automatisk vil genoprette, når du bygger dit projekt igen. Det vil ikke slette din kildekode eller dine projektindstillinger permanent.
Hvor ofte skal jeg rydde op i Xcode?
Der er ingen fast regel. Hvis du oplever ydeevneproblemer, fejl, eller hvis din diskplads bliver lav, er det et godt tidspunkt at rydde op. For nogle udviklere kan det være en gang om ugen, for andre en gang om måneden, eller simpelthen 'efter behov'.
Vil sletning af Derived Data påvirke mine projekter permanent?
Nej, det vil det ikke. Dine projektfiler, kildekode og konfigurationer forbliver intakte. Det eneste, der sker, er, at Xcode skal genopbygge de midlertidige filer og indekser, hvilket kan tage lidt ekstra tid den første gang, du bygger projektet efter en oprydning.
Hvorfor fylder Xcode så meget på min Mac?
Xcode genererer en stor mængde midlertidige filer under kompilering, indeksering og test. Disse inkluderer kompileret kode, byggeprodukter, debug-symboler, cache-filer og simulator-data. Over tid kan disse filer hobe sig op og optage betydelig diskplads, især hvis du arbejder på mange forskellige projekter eller iOS-versioner.
Hvad er forskellen mellem 'Clean' og 'Clean Build Folder'?
'Clean' (Command + Shift + K) fjerner kun de byggeprodukter, der er skabt under den seneste kompilering af dit aktive build-skema. 'Clean Build Folder' (Command + Shift + Option + K) er mere omfattende og sletter hele build-mappen, inklusive alle midlertidige filer og caches relateret til dit projekt, hvilket ofte er mere effektivt til at løse problemer.
Ved at følge disse trin kan du effektivt administrere Xcode's diskforbrug, løse almindelige udviklingsproblemer og sikre en mere flydende og produktiv udviklingsoplevelse på din Mac. Glad kodning!
Hvis du vil læse andre artikler, der ligner Optimering af Xcode: Slet Derived Data og mere, kan du besøge kategorien Teknologi.
