I've had this issue for more than a year now. Sometimes it works, most of the time it doesn't. I can't be the only one experiencing this? The status bar says "Running" but even after half an hour, nothing happens on the Watch. Installing to my iPhone works just fine but as soon as I target the Apple Watch, it gets stuck.
Xcode says "Running .. on .. Apple Watch" all the time but never runs. Frustrating
Since this is still relevant today, I'm just bringing my grain of salt here. Unfortunately this may not work for everyone.
Using the Profile function (Product > Profile / or command + i / or long press on the play button > Profile) seems to hit Xcode with a stick. When Xcode is ready with that, no need to choose a profiling template, you can stop there and run you application. I have not found the need to restart any of the devices, it looks like it's enough to make it work. However when I'm doing that a few times in a row, I may need to restart Xcode.
Also in case it doesn't run automatically, you can go to your Apple Watch and open the app. It should be installed and/or updated.
One workaround I had the most luck with is to run the iOS target on the iPhone the watch is attached to, wait for it to install on the watch (check for progress in the Watch app) and then run it manually from the watch. There's no debugging this way though.
Same issue, nothing helps. 😔
Utterly frustrating and this still happening until today
Issue solved after disconnecting/reconnecting iPhone, waiting for Preparing both iPhone and Watch, and then enabling "Connect via network" on "Devices and Simulator / iPhone"
This is so ridiculous and annoying. I don't even develop apps for the watch, yet Xcode constantly wants to prepare the watch for development and can't get it done. Seriously, Apple? Why don't any of you care about this problem?
The only solution for me is to switch off the watch while working on apps.
4 years passed...