I would like to update my WatchKit app to adopt new capabilities in WatchKit 2. When I release the update once these OSes are public, I no longer want to support the WatchKit 1 app. So imagine I've updated my WatchKit 1 app using the automatic process Xcode recommended to update to the latest settings and I removed my WatchKit 1 code (like handleWatchKitExtensionRequest) and replaced it with the WatchConnectivity equivalent. iOS 9 is released, I release my app update, and a user updates my app before they update to watchOS 2 and iOS 9. They will still be able to use the iOS app (app targets iOS 7), but what happens to the watch app? Does that app simply disappear from their watch, is the user somehow informed they need to update to watchOS 2 in order to continue using the app, is the app going to somehow be left installed but be in a broken state, or what will this experience be like for my users?
Replacing WatchKit 1 app with WatchKit 2 app
Short answer is yes, the watch app should disappear when they update the companion iOS app, since it wont support the old watchOS 1.0
Long answer, the target or executable for you watch app lives on your phone and is included with the application bundle. So when the companion app is updated the watch app will essentially need to be reinstalled. Since the watch app doesn't include a target for watchOS 1.0 it wont be installed and to the user it will look as if it has been removed from the phone.
Personally, I think you should add some type of exception in your watch app that can notifiy that they need to update to watchOS 2.0 to use new features.
You can have both a watchOS 1 and watchOS 2 app bundled with your parent iPhone app at the same time. So, you can create a new app for watchOS 2, but keep your existing watch app for users who haven't updated yet.
In that situation, does the 1.0 Watchkit Extension run on the iPhone or the Watch?
Nothing is changing for existing extensions built for watchOS 1. They will continue running on the iPhone, and shouldn't require any changes on your part.
If you are running into problems with your current watchOS 1 apps on watchOS 2, please file a bug report at bugreport.apple.com
Ok. What if I don't wish to provide a watchOS 1 app any longer once I update the app?
Instead of adding a new watchOS 2 app to my project, can I add a watchOS 1 app? Xcode upgraded my watchOS 1 app to 2 so I no longer have the original app but I could restore from source control. Also, I used Swift, so I would have to update both extensions with Swift 2 changes, unless there's a way to use Swift 1 with the watchOS 1 app.
You do not need to provide a watchOS 1 app, but it is an option.