Orphaned 9GB Simulator Runtime in /System/Library/AssetsV2 - Cannot Delete (SIP protected)

I have an orphaned asset folder taking up 9.13GB located at:

/System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/c0d3fd05106683ba0b3680d4d1afec65f098d700.asset

It contains SimulatorRuntimeAsset version 18.5 (Build 22F77).

Active Version: My current Xcode setup is using version 26.2 (Build 23C54).

I checked the plist files in the directory and found what seems to be the cause of the issue:

The "Never Collected" Flag: The Info.plist inside the orphaned asset folder explicitly sets the garbage collection behavior to "NeverCollected":

<key>__AssetDefaultGarbageCollectionBehavior</key>
<string>NeverCollected</string>

The Catalog Mismatch: The master catalog file (com_apple_MobileAsset_iOSSimulatorRuntime.xml) in the parent directory only lists the new version (26.2). Because the old version (18.5) is missing from this XML, Xcode and mobileassetd seem to have lost track of it entirely.

What I Have Tried (All Failed)

Xcode Components: The version 18.5 does not appear in Settings -> Components, so I cannot delete it via the GUI.

Simctl: xcrun simctl list runtimes does not list this version. Running xcrun simctl runtime delete 22F77 fails with: "No runtime disk images or bundles found matching '22F77'."

Manual Deletion: sudo rm -rf [path] fails with "Operation not permitted", presumably because /System/Library/AssetsV2 is SIP-protected.

Third-party Tools: Apps like DevCleaner do not detect this runtime (likely because they only scan ~/Library or /Library, not /System/Library).

Has anyone found a way to force the system (perhaps via mobileassetd or a specific xcrun flag) to re-evaluate this folder and respect a deletion request?

I am trying to avoid booting into Recovery Mode just to delete a cache file.

Any insights on how AssetsV2 handles these "orphaned" files would be appreciated.

Suffering the same problem, very well explained thanks!

Same as you, I tried all alternatives I know but was unable to cleanup the orphaned runtimes. In my case they amount to 30GB (they are three orphaned runtimes)

Facing the same problem

I am encoutering the same problem with a universal iOS simulator version (18.5)

Because the old version (18.5) is missing from this XML, Xcode and mobileassetd seem to have lost track of it entirely.

I managed to get Xcode to recognise it, but Xcode chooses to soft delete instead of ing the disk.

Running scan-and-mount identifies the orphan simulator:

> xcrun simctl runtime scan-and-mount
> xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 26.2 (23C54) - E2B78652-EDF6-450D-BC2C-2F0B11B3AD95 (Ready)
-- unknown --
<unknown platform> - CE40DFD4-ACAC-4A6B-975A-51148DA604B0 (Verifying)

Total Disk Images: 2 (7.8G) [Note: 1 image(s) are of unknown size]
> xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 18.5 (22F77) - CE40DFD4-ACAC-4A6B-975A-51148DA604B0 (Ready)
iOS 26.2 (23C54) - E2B78652-EDF6-450D-BC2C-2F0B11B3AD95 (Ready)

Total Disk Images: 2 (7.8G) [Note: 1 image(s) are of unknown size]

Then I tried to directly delete the simulator:

> xcrun simctl runtime delete 22F77
> xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 18.5 (22F77) - CE40DFD4-ACAC-4A6B-975A-51148DA604B0 (Deleting)
iOS 26.2 (23C54) - E2B78652-EDF6-450D-BC2C-2F0B11B3AD95 (Ready)

Total Disk Images: 2 (7.8G) [Note: 1 image(s) are of unknown size]
> xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 26.2 (23C54) - E2B78652-EDF6-450D-BC2C-2F0B11B3AD95 (Ready)

Total Disk Images: 1 (7.8G)

simctl lied and the simulator is still there:

> ls -lah System/Volumes/Data/System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/
Permissions Size User           Date Modified Name
drwxr-xr-x@    - _nsurlsessiond  7 Jun  2025   c0d3fd05106683ba0b3680d4d1afec65f098d700.asset
drwxr-xr-x@    - _nsurlsessiond 25 Jan 17:43   e4478b4b9014ff28fe3c265daca488f55a284f4c.asset
.rw-r--r--  2.0k root           25 Jan 17:48  󰗀 com_apple_MobileAsset_iOSSimulatorRuntime.xml
.rw-r--r--  3.6k root           25 Jan 17:29   com_apple_MobileAsset_iOSSimulatorRuntime.xml.purged

The Info.plist of simulator iOS26.2 and iOS18.5 is identical (except iOS26.2 has a Architectures property). Both have __AssetDefaultGarbageCollectionBehavior=NeverCollected. So I dont think that is the problem.

Also in my case, /System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime.xml actually only shows the iOS18.5 simulator:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>AssetType</key>
	<string>com.apple.MobileAsset.iOSSimulatorRuntime</string>
	<key>Assets</key>
	<array>
		<dict>
			<key>ArchiveDecryptionKey</key>
			<string>15wwfkrSon24ww9+9QlQlGA2R0LtJhwI7kTTmiYCUNk=</string>
			<key>ArchiveID</key>
			<string>HIxuIFG8vmJvbIM/soIBLz64wFaDOd9Iup1ZYAv1CrA=</string>
			<key>AssetFormat</key>
			<string>AppleArchive</string>
			<key>AssetType</key>
			<string>com.apple.MobileAsset.iOSSimulatorRuntime</string>
			<key>Build</key>
			<string>22F77</string>
			<key>Ramp</key>
			<false/>
			<key>SimulatorVersion</key>
			<string>18.5</string>
			<key>_CompressionAlgorithm</key>
			<string>AppleArchive</string>
			<key>_DownloadSize</key>
			<integer>8858370048</integer>
			<key>_Measurement</key>
			<data>
			BoX4n0866stvYXjfzb5FUKKXySs=
			</data>
			<key>_Measurement-SHA256</key>
			<data>
			gCkk0Tyi9WSI6cd8kOOYgg5X0rINR9qLGx+g1mfNnNg=
			</data>
			<key>_MeasurementAlgorithm</key>
			<string>SHA-1</string>
			<key>_UnarchivedSize</key>
			<integer>9128947712</integer>
			<key>__AssetDefaultGarbageCollectionBehavior</key>
			<string>NeverCollected</string>
			<key>__BaseURL</key>
			<string>https://updates.cdn-apple.com/2025/mobileassets/043-39934/7E9105AB-C0A9-4842-9F83-51647042E3BF/</string>
			<key>__CanUseLocalCacheServer</key>
			<true/>
			<key>__RelativePath</key>
			<string>com_apple_MobileAsset_iOSSimulatorRuntime/1DDBFF7D-AF07-4905-B63C-25AE53C4702A.aar</string>
			<key>__override_dupe__</key>
			<true/>
		</dict>
	</array>
	<key>CachedAssetSetId</key>
	<string>91c08968-dff6-4825-bf38-a3aee7ca42ac</string>
	<key>DownloadedFromLive</key>
	<string>https://gdmf.apple.com/v2/assets</string>
	<key>catalogInfo</key>
	<dict>
		<key>isLiveServer</key>
		<true/>
	</dict>
	<key>lastTimeChecked</key>
	<date>2026-01-25T09:48:51Z</date>
	<key>postedDate</key>
	<date>2025-05-15T00:00:00Z</date>
</dict>
</plist>

The one thing that stands out is that minutes after running scan-and-mount, the simctl still cannot identify the size of the iOS18.5 image:

> xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 26.2 (23C54) - E2B78652-EDF6-450D-BC2C-2F0B11B3AD95 (Ready)
iOS 18.5 (22F77) - A053B276-E553-48EE-86EC-FEACB14A4ED9 (Ready)

Total Disk Images: 2 (7.8G) [Note: 1 image(s) are of unknown size]

Inside System : Library I have the folder AssetsV2 with large Folders. com_apple_MobileAssest_iOSSimulatorRuntime 85.83 GB and .com_apple_MobileAssest_xrOSSimulatorRuntime 56.23 GB. Also _appleTVOS.. 21.41 GB and _watchOS.. 18.87 GB. I've tried xcrun simctl runtime list and delete. After a computer restart xcrun reported Total Disk Images dropping from 267.9G to 106.8G BUT no change to Finder reported sizes.

DaisyDisk showed 99G free and now 240G or 68G

A lot of disk images appear in Disk Utility but eject doesn't work for most of them, maybe none.

In Xcode I see a lot of simulators. I was able to delete many of them but no change to memory reported by the Finder.

It looks like I've tried the suggestions above.

I've run out of ideas.

Using Xcode : Settings : Components and deleting unused Other Installed Platforms as shown in thread https://developer.apple.com/forums/thread/810415 which points back to this thread.

DaisyDisk went from 240/68 GB to 345/76GB. Now orange instead of red!

Finder still shows the same size.

Orphaned 9GB Simulator Runtime in /System/Library/AssetsV2 - Cannot Delete (SIP protected)
 
 
Q