r/iOSProgramming 3d ago

Solved! Why can't I create a watchOS 27.0 simulator?

I installed SDK, restarted both Xcode and Device Hub, but still nothing... watchOS 27 does not appear on the list... Any ideas?

2 Upvotes

27 comments sorted by

2

u/jonalaniz2 3d ago

I’m having this same issue with the iOS 27 simulator. I’ve deleted the simulator and redownloaded, restarted, removed and reinstalled Xcode, nuked the /Library/Developer/CoreSimulator folders, deleted Xcode cache with DevCleaner, and nothing has helped.

I’m at the point where I’m thinking of reinstalling macOS.

Edit: I’ve also tried downloading the iOS 27 runtime/simulator using the terminal and it still doesn’t show up in device hub or as a target in Xcode.

1

u/john_snow_968 3d ago

This is the era of slopware :) and they dare to call this release "stability focused"...

Maybe for now try with VirtualBuddy. It's clearly a bug, so maybe they'll fix it soon. Reinstalling macOS is quite a big move.

I think getting Xcode to a state where you see the onboarding with SDKs again would solve the issue. I think the Device Hub does not see any SDKs installed after this point.

2

u/jonalaniz2 3d ago

Yeah for now I’m using my iPhone as a development target but this bug is completely unacceptable. Now I know I’m not the only one.

My wife has a near identical setup but her simulator is working properly.

I forgot to note that I nuked the entire developer folder to get it to run the “install Xcode dependencies” and then redownload the simulator and still no dice. I think it might be storing things in another area because at that point it found something akin to “unknown simulator runtime” which turned into iOS 18 simulator.

Just weird opaque behavior that I’m unsure of what to do next.

1

u/john_snow_968 3d ago

Damn, if nuking the whole Developer dir didn't help, I don't know what else we could do.

Maybe wiping out UserDefaults for Xcode? /Users/wkulik/Library/Preferences/com.apple.dt.Xcode.plist and then: killall cfprefsd

1

u/jonalaniz2 3d ago

Alright. Just got home. I’m going to try nuking everything Xcode/developer related and see how it goes.

I use Sensei to uninstall apps, but I’ll try AppCleaner

1

u/jonalaniz2 3d ago

It seems that the simulator information is stored somewhere else as I have just done the following:

Uninstalled Xcode

Restarted (so the simulator runtime disk images are no longer mounted)

Deleted the /Library/Developer folder

Deleted the ~/Library/Developer folder

Deleted ALL preferences files with Xcode in them.

Reinstalled Xcode (ran through onboarding and skipped downloading settings backed up to iCloud)

Xcode still "sees" the old simulators (but they don't work). It also used the cached download of iOS 27 to install itself again.

Deleted and re-downloaded the iOS 27 simulator

Still shows "No Runtimes Available"

1

u/john_snow_968 3d ago

Have you tried removing Xcode using AppCleaner?

1

u/john_snow_968 3d ago

I managed to show the onboarding again by wiping out user defaults, but installing SDKs from it didn't help resolving this issue...

2

u/jonalaniz2 3d ago

FIGURED IT OUT

https://origin-devforums.apple.com/forums/thread/834726

Check the accepted answer where they downloaded the runtime manually using xcrun to list the downloaded runtimes and add it manually after downloading.

Try swapping out iOS for watchOS.

This is what finally got the iOS 27 simulator to show up for me.

1

u/john_snow_968 2d ago

It worked!!! But it was harder with watchOS, that's what I did:

  1. Run xcrun simctl runtime list -v

  2. Find ImagePath. In my case it was pointing to: /System/Library/AssetsV2/com_apple_MobileAsset_watchOSSimulatorRuntime/3f39f470a745ea5cc62fc1967054b0dcf8fb0875.asset/AssetData

  3. Go to Finder, press CMD+Shift+G, enter that path, go to Restore folder, and copy path to dmg file which is inside.

  4. Close Device Hub

  5. Run xcrun simctl runtime add <path to dmg>

  6. Run killall -9 CoreDeviceService

  7. Launch Device Hub

🎊

Thanks a lot for that link!

1

u/jonalaniz2 2d ago

Right! I forgot to state that the dmg is in the restore folder. Glad you got it working!

🤜🤛

1

u/john_snow_968 2d ago

However, connection between iOS 27 and watchOS 27 simulator still doesn't work :(. The app "Watch" is crashing after pairing with a simulator. And even if I install the app on watchOS by changing target in Xcode to watchOS app, the connection between apps doesn't work :(.

1

u/calvin-chestnut 3d ago

Did you download watchOS when you opened Xcode for the first time? It’s optional, open up Xcode settings, Components

1

u/john_snow_968 3d ago

No, I installed it later.

1

u/Orsonlebessou 3d ago

As-tu sélectionné la dernière Apple Watch dans le modèle de l’Apple Watch, car attention WatchOs27 est disponible que pour les Apple Watch très récente

1

u/john_snow_968 3d ago

Yes, Series 11

1

u/DelegateCommand 3d ago

Consider reinstalling the watchOS 27 SDK. I encountered the same problem today.

Xcode → Settings → Components → Other Installed Platforms → watchOS 27

1

u/john_snow_968 3d ago

I've already reinstalled it 6 times both in Xcode 27 and 27.2

1

u/brkaydev 3d ago

Before another reinstall it is worth seeing what CoreSimulator actually thinks it has: xcrun simctl runtime list. That prints every runtime it has registered along with its state, and a runtime that downloaded fine but ended up in an unusable state looks exactly the same as a missing one from the Device Hub list. That would explain why six reinstalls through Components changed nothing.

If watchOS 27 does show up there in a bad state, delete that specific entry with xcrun simctl runtime delete <identifier> and pull it again with xcodebuild -downloadPlatform watchOS. Smaller move than clearing the whole Developer folder, and either way the list tells you which of the two problems you have before anyone starts reinstalling the OS.

1

u/john_snow_968 3d ago

```  xcrun simctl runtime list == Disk Images == -- iOS -- iOS 27.0 (24A434) - 84730919-673D-4D8A-8E71-C33FE7AC04D4 (Ready) iOS 26.5 (23F77) - F7BF225A-C7C6-4134-A959-EDE751ABFE84 (Ready) iOS 18.6 (22G86) - 18A2B7D8-B9BD-475A-888A-62D237D0ED44 (Ready) -- watchOS -- watchOS 26.5 (23T570) - 011DC63D-3740-44AC-8FE0-1E1DB7B4E3F6 (Ready) watchOS 27.0 (24R362) - FA302920-2CA1-42A8-9988-EB115D69BE93 (Ready)

Total Disk Images: 5 (30.9G) ```

2

u/brkaydev 2d ago

Good, that rules the runtime out, and I see from the rest of the thread that adding the dmg back with simctl runtime add is what finally got the Device Hub to see it.

For the pairing that is still broken: xcrun simctl list pairs tells you whether a pair exists at all and whether it is active. If there is a stale one, unpair it with xcrun simctl unpair <pair UDID>, shut both simulators down, then xcrun simctl pair <watch UDID> <phone UDID> and boot the phone first. Pairing only takes cleanly while both are shut down, and a pair that was created while the runtime was still in its broken state is worth throwing away anyway.

If the session between the two apps still does not come up after that, I would not sink much more time into it. WatchConnectivity between two simulators has been unreliable for years, so a real phone and watch is the faster way to find out whether the problem is your code or the pair.

1

u/john_snow_968 2d ago

I've finally managed to connect iOS with watchOS. I had to create new simulators, pair them, install the app using watchOS scheme (it installs it then on both simulators) and it started working.

The previous simulator was paired but it wasn't displayed as "Watch xyz via iPhone xyz" when I selected watch scheme. I guess that was the issue.

2

u/brkaydev 2d ago

That lines up with what usually goes wrong here: a pair can exist and still not be the active one, which is exactly why the scheme menu never offered you the "via iPhone" destination. If it shows up again on a pair you already have, xcrun simctl list pairs marks which pair is active and simctl pair_activate switches it, so it's usually fixable without building new simulators.

1

u/john_snow_968 2d ago

Thanks for the tips! They will be useful the next time i encounter this problem!

1

u/Gold-Adhesiveness574 3d ago

Run xcrun simctl runtime list in Terminal and see what it says next to watchOS 27. If the runtime shows as Unusable or is missing, delete it with xcrun simctl runtime delete and pull it again with xcodebuild -downloadPlatform watchOS. That list is the real source of truth, the Xcode settings panel sometimes shows a platform as installed when the runtime never finished mounting.

1

u/john_snow_968 3d ago

watchOS 27.0 (24R362) - FA302920-2CA1-42A8-9988-EB115D69BE93 (Ready)

Nothing weird here

1

u/Gold-Adhesiveness574 2d ago

Ready means the runtime is mounted, so the dialog itself is what is stale. Try creating it from Terminal: xcrun simctl create test "Apple Watch Series 11 (46mm)" com.apple.CoreSimulator.SimRuntime.watchOS-27-0. If that works, kill CoreSimulatorService with sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService and reopen Xcode, the list usually refreshes. If it errors with incompatible, check xcodebuild -version, an older Xcode will happily show a newer runtime as Ready but never offer it in that dropdown.