Conversation
Xcode 27 moved SimulatorKit.framework out of Contents/Developer/Library/PrivateFrameworks and into Contents/SharedFrameworks. The old directory is gone, so the display bridge failed with "Unable to load SimulatorKit". The bridge now reads the Xcode major version from version.plist next to the developer directory. On 27 and later it tries SharedFrameworks first and falls back to the old location. On older or unknown versions it tries the old location first. If neither file exists it returns the first candidate so the error still names the expected path.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Local confirmation: we applied f996ec7 and have SimDeck simulator video working with Xcode 27.0 (27A5194q). |
On Xcode 27 the simulator view shows "Unable to load SimulatorKit from /Applications/Xcode.app/Contents/Developer/Library/PrivateFrameworks/SimulatorKit.framework/SimulatorKit". Xcode 27 moved SimulatorKit.framework to
Contents/SharedFrameworks, and the oldContents/Developer/Library/PrivateFrameworksdirectory is gone.DFSimulatorKitExecutablePath()now reads the Xcode major version fromContents/version.plist. On 27 and later it looks in SharedFrameworks first. On older versions, or if the version can't be read, it looks in the old location first. Either way it uses the first path that exists, so an unusual layout still works as long as the framework is in one of the two places. If neither exists it returns the preferred path, so the error message still says where it looked.idb made the same change in facebook/idb@981101298cf5.
I also added a sentence to AGENTS.md saying where SimulatorKit is loaded from.
Testing
Tested on macOS 27 with Xcode 27.0 (27A266a). Before the change the display failed with the error above. After it, an iPhone 18 Pro simulator on iOS 27 boots and streams in SimDeck again.
cargo testpasses.I don't have Xcode 26 installed anymore, so I checked the older path by running the lookup against fake Xcode 26 and 27 app layouts, one without a version.plist, and the Command Line Tools developer dir.
This branch is based on
main. It seems the 0.2.0 release was tagged fromfix/windows-live-video-messaging, but this file is the same on both and the commit cherry-picks cleanly onto the 0.2.0 tag.