Terug naar Blog

In een Xcode-simulator van 9,8 GB namen de apps 350 MB in

Ik heb de datamap van tien iOS-simulators gemeten. App-containers namen 0,07 tot 0,34 GB in. Snapshots van posters voor het toegangsscherm, logs, Siri-assets en symboolcaches namen de rest in.

Gepubliceerd 26 oktober 2026 Auteur Vladimir Chemeris Leestijd 6 min leestijd
XcodeSimulatorDeveloper Cleanup

Mijn QA-simulator nam 9,8 GB in, en mijn app was niet de oorzaak. Zijn app-containers namen 0,34 GB in. iOS vulde de rest: een cache met snapshots van posters voor het toegangsscherm, het systeemlog, gedownloade Siri- en taalassets en een symboolcache. Ik heb tien simulators op mijn Mac gemeten, en op elk ervan bleef het aandeel van de apps klein.

Hoofdregel: meet een simulator voordat je hem wist, en wis of verwijder hem daarna met xcrun simctl. Verwijder geen mappen in zijn datamap met de hand.

Snel antwoord

  1. Zoek de zware simulators: du -sh ~/Library/Developer/CoreSimulator/Devices/* | sort -h | tail.
  2. Koppel elke UDID aan een naam met xcrun simctl list devices.
  3. Kijk in een ervan: du -h -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -h | tail -20.
  4. Heb je de status ervan niet meer nodig, sluit hem dan af en wis hem: xcrun simctl shutdown <UDID>, daarna xcrun simctl erase <UDID>.
  5. Verwijder simulators die je nooit gebruikt met xcrun simctl delete <UDID>.

Waar 9,8 GB in één simulator naartoe ging

Bij mijn eerste meting bevatte één QA-simulator de helft van de map Devices. Een lezer vroeg wat erin zat, dus opende ik zijn map data. Het apparaat is een simulator van de iPhone 18 Pro met iOS 27.0, en hij was opgestart tijdens de meting.

Staafdiagram van de datamap van 9,81 GB van de QA-simulator: PRBPosterExtensionDataStore 2,88 GB, var/db/diagnostics 2,07 GB, private/var/MobileAsset 2,03 GB, coresymbolicationd 1,13 GB, var/db/uuidtext 0,49 GB, al het andere 0,87 GB, en Containers met alle apps 0,34 GB
De datamap van de QA-simulator. Alle app-containers samen vormen de kortste balk.
Map in dataGrootte
Library/Application Support/PRBPosterExtensionDataStore2,88 GB
var/db/diagnostics2,07 GB
private/var/MobileAsset2,03 GB
Library/Caches/com.apple.coresymbolicationd1,13 GB
var/db/uuidtext0,49 GB
Containers, alle app-containers0,34 GB
Hele map data9,81 GB

Containers bevat de geïnstalleerde apps, hun datacontainers, app-groepen en de data van extensies. Alles wat mijn app en zijn tests schreven, past in die 0,34 GB.

Tien simulators naast elkaar

Op mijn Mac staan 53 simulators. Drieënveertig ervan bevatten elk ongeveer 20 MB, de grootte van een apparaat dat nooit een app heeft gedraaid. De andere tien zijn de simulators die ik gebruik. Groottes staan in GB.

Gestapeld staafdiagram van de datamappen van tien simulators, van 0,63 tot 9,81 GB. App-containers nemen op elk apparaat 0,07 tot 0,34 GB in. De posteropslag is alleen groot op de twee opgestarte apparaten met iOS 27.0. Het systeemlog en MobileAsset nemen het grootste deel van de rest in.
Tien simulators, opgesplitst in app-containers, de posteropslag, het systeemlog (diagnostics plus uuidtext), MobileAsset en al het andere. Een stip markeert de apparaten die opgestart waren.
SimulatoriOSStatusdataPosteropslagdiagnosticsMobileAssetContainers
QA-apparaat, iPhone 18 Pro27.0Opgestart9,812,882,072,030,34
iPad Pro 13-inch (M5)27.0Opgestart4,591,650,211,700,16
iPhone 1618.6Afgesloten3,140,031,220,790,24
iPhone SE (3rd generation)26.5Opgestart2,620,040,361,000,31
iPhone 11 Pro26.5Afgesloten2,360,000,151,210,12
iPhone 16, dogfood-build18.6Afgesloten2,030,030,360,900,11
iPhone 16 Pro Max18.6Opgestart1,580,050,050,900,15
iPhone 16 Pro Max27.0Afgesloten1,530,170,020,170,16
iPad Pro 11-inch (M4)18.6Afgesloten1,470,030,090,780,07
iPhone SE (3rd generation), tweede app18.6Afgesloten0,630,030,010,210,08

Drie patronen vallen op:

  • Containers kwam nooit boven 0,34 GB. De apps die ik test zijn een afrondingsfout naast de systeemdata.
  • MobileAsset staat op elke simulator. Het varieerde van 0,17 tot 2,03 GB.
  • De posteropslag werd alleen groot op de twee opgestarte apparaten met iOS 27.0. Op iOS 18.6 en 26.5 bleef hij onder 0,05 GB. Twee apparaten zijn te weinig om iOS 27.0 de schuld te geven, maar het verschil is groot.

Wat elke map bevat

PRBPosterExtensionDataStore: snapshots van posters voor het toegangsscherm

De mapnaam is, samen met GalleryCache en SnapshotCache.cachedb, een string in het private PosterBoard.framework van de simulatorruntime van iOS 27.0. De runtime levert ook een systeemapp mee, PosterBoard.app, met de identifier com.apple.PosterBoard. In de map dragen submappen de ID’s van de posterextensies van Apple: WeatherPoster, EmojiPoster, PhotosPosterProvider, KaleidoscopePoster en meer. De handleiding van Apple over een aangepast toegangsscherm maken noemt Weer, Astronomie en foto’s onder de achtergronden voor het toegangsscherm.

Op mijn QA-apparaat bevatte de map 6.776 bestanden. Daarvan waren er 2.911 .atx-snapshotbestanden van ongeveer 1 MB per stuk, met de namen Composite.atx, Background.atx, Foreground.atx en Floating.atx, en samen kwamen ze op 2,9 GB. Op de iPad hadden alle 939 snapshotbestanden een wijzigingsdatum op de dag van de meting, dus het apparaat schrijft deze cache terwijl het draait. Ik weet niet waardoor hij groeit, en Apple documenteert het niet.

var/db/diagnostics en var/db/uuidtext: het systeemlog

Deze mappen bevatten de data van het unified logging system. man log beschrijft een logopslag als een database voor systeemlogs zoals die in /var/db/diagnostics, met een map uuidtext zoals /var/db/uuidtext ernaast. Elke simulator houdt een eigen kopie bij in zijn datamap. Op mijn apparaten varieerde die van 0,01 tot 2,07 GB, plus 0,49 GB uuidtext op het QA-apparaat.

private/var/MobileAsset: assets die iOS downloadt

Op het QA-apparaat bevatte AssetsV2 assetsets met namen van Siri- en taalfuncties:

AssetsetGrootte
com_apple_MobileAsset_UAF_Siri_Understanding805 MB
com_apple_MobileAsset_UAF_LinguisticData409 MB
com_apple_MobileAsset_UAF_Siri_TextToSpeech289 MB
com_apple_MobileAsset_UAF_SearchQueryUnderstanding106 MB
com_apple_MobileAsset_TTSAXResourceModelAssets96 MB

De simulator downloadt deze zelf. Een ontwikkelaar op de Apple Developer Forums meldde dat dezelfde map op iOS 26.5 met tientallen gigabytes groeide, gedownload door nsurlsessiond. De thread heeft geen antwoord.

com.apple.coresymbolicationd: symboolcache

De manpage van coresymbolicationd noemt het een “daemon to manage debug symbols cache” voor OS-bibliotheken. De map nam 1,13 GB in op het QA-apparaat en bijna niets op de andere.

Wat ik doe met een zware simulator

Ik open deze mappen niet om bestanden te verwijderen. Apple documenteert ze niet, en ik kan je niet vertellen wat een half verwijderde posteropslag of logopslag met een simulator doet. De ondersteunde tools werken op het hele apparaat:

  • xcrun simctl erase <UDID> wist inhoud en instellingen en laat het apparaat staan. Sluit het apparaat eerst af.
  • xcrun simctl delete <UDID> verwijdert het apparaat.
  • xcrun simctl delete unavailable verwijdert apparaten die de huidige Xcode SDK niet meer ondersteunt.

Wissen haalt de geïnstalleerde apps, hun data en elke systeemmap hierboven weg, dus je installeert de app opnieuw en logt opnieuw in. Bewaar de apparaten waarvan je de status nog nodig hebt voor een bug of een test. De posteropslag, het log en de assets kunnen teruggroeien zodra het apparaat weer draait, dus wissen levert ruimte op maar lost de groei niet op.

StorageRadar-scherm Developer caches: Xcode DerivedData met 41,8 GB onder Safe to clean, met de notitie dat de volgende build het opnieuw opbouwt, en CoreSimulator Data met 34,6 GB onder Review before cleaning
In Dev Cleanup van StorageRadar staat CoreSimulator Data onder Review before cleaning, los van DerivedData, dat de volgende build opnieuw aanmaakt. De schermafbeelding komt van een eerdere scan, dus de groottes wijken af van dit artikel.

Hoe ik heb gemeten

Ik heb gemeten op 26 oktober 2026, op een Mac mini met M4, macOS 27.0.1 en Xcode 27.1. Alle opdrachten lezen alleen data:

xcrun simctl list devices --json
du -sk ~/Library/Developer/CoreSimulator/Devices/<UDID>/data
du -k -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -rn | head -20
find ~/Library/Developer/CoreSimulator/Devices/<UDID>/data/Library/Application\ Support/PRBPosterExtensionDataStore -name '*.atx' | wc -l

De groottes komen uit du, twee keer gedeeld door 1024, dezelfde binaire eenheden die du -h toont. De mappen binnen elke rij overlappen elkaar niet, behalve dat Containers zijn submappen meetelt. Opgestarte simulators blijven schrijven, dus hun getallen verschuiven van uur tot uur.

Conclusie

Een grote simulator bevat meestal iOS-data, niet je app. Op mijn Mac namen app-containers 0,07 tot 0,34 GB per apparaat in, terwijl postersnapshots, logs, gedownloade assets en symboolcaches tot 9,5 GB innamen. Meet de datamap, bewaar de apparaten waarvan je de status nodig hebt, en wis of verwijder de rest met simctl.

Over de auteur

Vladimir Chemeris

Oprichter, StorageRadar

Vladimir Chemeris bouwt StorageRadar, een privacygerichte macOS-app voor opslaganalyse met nadruk op opruimen na controle, ontwikkelaarsopslag en zicht op verschil voor en na.

Veelgestelde vragen

Waarom is mijn iOS-simulator zo groot terwijl mijn app klein is?

Je app is er maar een klein deel van. Op mijn QA-simulator namen de app-containers 0,34 GB van de 9,8 GB in. De rest was iOS zelf: een cache met snapshots van posters voor het toegangsscherm, het systeemlog, gedownloade Siri- en taalassets en een symboolcache.

Wat is PRBPosterExtensionDataStore in de iOS Simulator?

Een map in de datamap van elke simulator die hoort bij PosterBoard, het onderdeel van iOS achter de posters op het toegangsscherm. De naam is een string in het private PosterBoard.framework van de runtime van iOS 27.0. Op mijn Mac bevatte de map 2,9 GB op één simulator, bijna allemaal .atx-snapshotbestanden.

Kan ik mappen in de datamap van een simulator met de hand verwijderen?

Ik doe het niet. Apple documenteert deze mappen niet, dus niemand kan je vertellen wat er dan stukgaat. Gebruik xcrun simctl erase om de inhoud en instellingen van een simulator te wissen, of xcrun simctl delete om het apparaat te verwijderen.

Verwijdert het wissen van een simulator ook zijn iOS-runtime?

Nee. Erase wist de datamap van het apparaat en laat het apparaat en zijn runtime staan. Runtimes zijn aparte schijfkopieën die je verwijdert met xcrun simctl runtime delete.

Welke map hoort bij welke simulator?

De mappen in ~/Library/Developer/CoreSimulator/Devices hebben een UDID als naam. Voer xcrun simctl list devices uit om elke UDID te koppelen aan een apparaatnaam, runtime en status.

Bronnen & referenties

Zie elke simulator naast de rest van je ontwikkelaarsopslag.

Met Disk Map van StorageRadar zoom je in op elke simulatormap. Dev Cleanup zet CoreSimulator onder Review before cleaning en draait een Dry Run voordat er iets wordt verwijderd.