MacBook Air (Apple silicon), macOS 26.6.2 (25G83).
I have a persistent CoreSimulator/MobileAsset issue. I do not have an Xcode project, Simulator devices, or an active need for iOS Simulator runtimes.
Using Apple’s signed CoreSimulator simctl binary, I removed iOS 18.4 (22E238) and iOS 18.5 (22F77) through the documented:
simctl runtime delete <runtime UUID>
workflow, after simctl reported each runtime as Ready, Verified, and Deletable.
Immediately after deletion, the runtime registration and mounted runtime image disappeared. However, after a normal Mac restart or later CoreSimulator service activity, both runtimes reappear under new image UUIDs and are automatically mounted read-only again.
The underlying Apple MobileAsset parents remain present and report NeverCollected:
- iOS 18.4 / build 22E238: about 8.9 GiB
- iOS 18.5 / build 22F77: about 8.9 GiB
The related CoreSimulator dyld cache also rebuilds to about 7.1 GiB.
I have not manually deleted protected Apple assets, killed Apple services, or modified mounts. The only removal attempted was Apple’s own simctl runtime delete command.
Expected result: After a successful documented runtime deletion, the runtime should remain unregistered and unmounted, and the Apple-managed backing storage/cache should become reclaimable through a supported process.
Observed result: The same runtime builds return after restart/service activity, with new UUIDs and automatic mounts, while their retained MobileAssets remain.
Could Apple please advise why CoreSimulator/MobileAsset reconciliation is re-registering deleted runtimes, whether NeverCollected prevents supported cleanup, and what supported procedure can permanently remove or reconcile these unused runtimes?
Useful read-only checks:
SIMCTL_PATH=/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/Resources/bin/simctl "$SIMCTL_PATH" list runtimes "$SIMCTL_PATH" runtime list -v du -skx /Library/Developer/CoreSimulator/Caches/dyld