UPDATE: It is NOT currently possible to open your iOS app from the Apple Watch. This was a bug with that version of Xcode, which has since been fixed. See comments for more information or a short explanation of my mistake.

The most exciting part of yesterday’s Xcode 6.2 Beta 2 release was the new added ability to open the iOS app from the Apple Watch and even pass information while doing so! It’s super easy to do.

The Design

In Interface.storyboard, drag buttons onto the InterfaceController, and change the Button Title Colors as below:

Create IBActions

For each button, create an IBAction by Control + Dragging each button to the Interface Controller:

Now comes the fun part!

Open Application

We’re going to use the new openParentApplication:reply: class method on the WKInterfaceController to open our application. Here is the Documentation for it:

Since all the IBActions will open up the parent app, but send a different color, I created a function they can all call for more DRY code:

Run your Watch app! Now, when you click on the buttons, it’ll open up your parent iOS app. Of course, the last part is to use the information passed to the parent iOS app to do something (like change background color in this case)…

Handle WatchKit Extension Request

There is now a new method for the App Delegate to handle the WatchKit Extension Request:

Since we have to handle the WatchKit request in the AppDelegate, my implementation includes just posting a notification, so that any object that depends on the information in the WatchKit request can just handle it as needed.

Now, the iOS app’s ViewController can listen for the notification and change color accordingly:

That’s it! This is all pretty simple, but think of all the possible interactions this new WatchKit capability allows! I can see lots of fun games taking advantage of this… And this is all only in Beta 2. A lot more to come for sure!