Here’s an outline of the steps involved:
- Copy symbols and headers from Xcode’s iphoneOS and iphoneSimulator platforms to the watchOS and watchSimulator platforms, respectively.
- Build your “normal” UIKit-based iOS app inside a framework, rather than in your WatchKit extension.
- Use install_name_tool to point your WatchKit app’s _WatchKitStub/WKbinary to your framework instead of SockPuppetGizmo. SockPuppetGizmo is the framework that (to my knowledge) runs WatchKit and interacts with normal WatchKit extensions that developers write.
- Jury-rig the iOS port of the Bochs x86 emulator into your framework. “Easy!” “How hard can it be?” read: Pretty hard. In my case, Xcode crashed whenever I tried to use lldb. Your mileage may vary.
- Copy a Windows 95 disk image in to your app’s bundle, write the config file, and boot ‘er up.
*Optional: hot glue a motor to the watch’s crown to keep it from falling asleep.