Building an Apple Watch independent app on watchOS 6.0

One of the new shiny features of the new iOS 13 and watchOS 6 is the ability to create apple watch apps without having an iphone companion app. The process is not as straight forward as you would expect though so here is a guide on how to do it.

First, create a new watch app project in XCode. Go to File->New->watchOS->Watch App, and follow the process which is similar to setting up an iOS project.

Now the project structure is really similar to the one you have with companion apps:

The big difference is that the iphone target (DemoApp in the picture above) is a dummy one. So if you are familiar with building companion apps the process will be the same.

However, you can now use URLSession and make HTTP calls directly from your watch, you can ask for permissions and all kinds of things. The good thing is that everything works similarly to the iOS sibling.

After you finished the development of your independent app and you are ready to publish it, the things are not that straight forward anymore.

Log into the apple developer portal and create an identifier for your app. Important: the indentifier you create must be the same you have in the DemoApp target (NOT the one from DemoApp WatchKit App).

Now you are ready to create your iTunes Connect new app. Log in to iTunes Connect, go to My Apps and select “+”->”New App”.

The confusing thing is that there are no separate apps either in Apple Developer Portal or iTunes Connect.

After this you are ready to go to XCode, create your archive and upload itto iTunes Connect. Then complete all the info like you would do with an iOS app. For the screenshots part you upload screenshots just for your app and you are ready to submit it for review.

The confusing thing in all this process is that watchOS independent apps piggyback on the existing iOS publishing infrastructure so while they are still independent at the end of the day the process of building and publishing them it does not feel like this.