Here’s what’s going on and how I fixed it locally.
Once you install and run a newer Xcode (for example 26.2), it performs a CoreSimulator migration and writes system-wide frameworks into /Library/Developer/PrivateFrameworks. This migration is global and there’s no rollback mechanism. Even if you delete Xcode 26.2 and keep using Xcode 26.1.1, the older Simulator binary still loads CoreSimulator frameworks from the system location, not from inside the Xcode bundle.
So you end up in a situation where Simulator.app is launched from
/Applications/Xcode-26.1.1.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
but it’s actually using newer system frameworks like:
/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator /CoreSimDeviceIO.framework /SimPasteboardPlus.framework /CoreSimulatorUtilities.framework
In my case the CoreSimulator version there was already 1051.17.7, which clearly came from Xcode 26.2. That’s why behavior stays broken even after uninstalling the newer Xcode.
The only thing that worked locally was force-resetting those system frameworks. I removed the entire directory:
sudo rm -rf /Library/Developer/PrivateFrameworks
After that, I launched the Simulator again (from Xcode 26.1.1). macOS prompted me to install additional components, I accepted it, and CoreSimulator was reinstalled in a version compatible with 26.1.1. After that, everything worked exactly as it did before installing Xcode 26.2.
So the short version: Xcode upgrades CoreSimulator globally, older Xcodes keep using it, and deleting Xcode alone is not enough. If you want to go back, you have to wipe /Library/Developer/PrivateFrameworks and let Xcode reinstall the components.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: