The first beta of the WatchKit SDK was launched this past week and developers can now start making apps.
There are some limitations, but Apple released a lot more than was expected for WatchKit. There’s a lot you’ll be able to do within the restrictions, which are related to the embedded hardware (i.e.: Apple Watch) and it’s battery life.
For now, until Native Apple Watch support is added sometime next year (fingers crossed), you’ll have to work within the provided mechanisms. If something doesn’t work, you’ll need to let Apple know by submitting bug reports, feature requests, or enhancements to WatchKit or Xcode.
Known Limitations of WatchKit in Xcode 6.2 Beta
- Updated: (Beta 2 allows Watch apps to trigger iPhone apps) You cannot press a button on Apple Watch to cause an action in your iPhone app.
- You cannot create or use gestures. All gestures are controlled by Apple.
- You cannot move objects around screen by CGPoint position (Maybe with tableview hide/show).
- You cannot add UI elements at run-time, everything is design time before app runs.
- You cannot make fluid 2D/3D games like Flappy birds (Maybe jittery gameplay with image animations + hiding/showing hackery, + borderless button).
- Animations are image-based (in Apple’s sample they include 360 images to show a full circle progress bar = 2mb image data).
- Your code runs on your iPhone app in an extension (new in iOS 8), and your UI + images reside on the Apple Watch.
- Your app will stop if the Apple Watch and iPhone are separated beyond the range of bluetooth. Only Apple can run native apps on device.
- You can only use storyboard files for UI (no .xib files).
- You must create an iPhone app Xcode project and add Apple Watch targets to create an app.
- You cannot use a physical iPhone with the Apple Watch simulator. Only available in simulation on Mac.
With some of the limitations in perspective, you can design apps that provide meaningful information that compliment your iPhone app. The watch is intended to show information that can be used quickly, and it isn’t designed as a gaming device because of it’s limited battery and processing power.