10

In WWDC 2015 it is mentioned that watch supports native apps but I fail to see the option in new Xcode 7 for the way to just build an apple watch app without the companion app. Please let me know the way to do so, if it exists.

Frederik Winkelsdorf
  • 4,383
  • 1
  • 34
  • 42
Vamsi Krishna
  • 585
  • 6
  • 17

4 Answers4

11

In fact, watchOS apps are linked to the iOS companion app.

In both versions, each watchOS app has two targets: WatchKit App - which contains storyboard, icons, etc - and WatchKit Extension, which contains the code.

In watchOS 1 (old WatchKit) + iOS 8 combination, WatchKit App is installed on Apple Watch, and both WatchKit Extension and iOS app are installed on user's iPhone.

In other way, in watchOS 2 + iOS 9 combination, both WatchKit App and WatchKit Extension are installed on user's Apple Watch, and iOS App is the only code and view installed on iPhone.

Running iOS app only requires one target, so it can run without Apple Watch (since the first iPhone OS).

But running watchOS apps needs both WatchKit App and WatchKit Extension. In watchOS 1 (the old WatchKit) because one is on iPhone and other on Apple Watch, so running apps need connecting between them with Bluetooth, so you have to carry your iPhone nearby. In watchOS 2, both are on Apple Watch, so running apps does not need connecting to iPhone and having iPhone nearby. You can connect them with WatchConnectivity framework included in watchOS 2 SDK (in Xcode 7).

So in watchOS 2 apps can run standalone, but they are not standalone at all. They install on Apple Watch when installing on iPhone, and they can connect with each other. When you create a new watchOS App, you must include it with your iPhone app when submitting it to the iTunes Connect.

NOTE: This makes watchOS apps faster and more reliable.

Benjohn
  • 13,228
  • 9
  • 65
  • 127
Seyed Parsa Neshaei
  • 3,470
  • 18
  • 30
6

You can't build native watch apps yet. Maybe in a later build of Xcode 7, but so far all Apple has announced is that "at some point in the near future" you will be able to build a native Watch app.

RyanR
  • 7,728
  • 1
  • 25
  • 39
  • 1
    Definitely the simplest, most concise answer – John Farkerson Jul 10 '16 at 19:10
  • Depends on the definition of 'native', but certainly with WatchOS3 and Xcode 8.2.1, if not earlier - see Becky's answer, you can create Watch Apps that run and do useful things when not connected to the iPhone at all. The iPhone part of the app does not have to do anything more than the default code from the template. The iPhone is still needed for delivery of the Watch app to the Watch. – ghr Feb 19 '17 at 00:15
4

In watchOS 2, watch apps are "native" in the sense that the WatchKit extension now runs on the Apple Watch instead of the user's iPhone. This means it can no longer share data with the iPhone app using shared app groups but must instead use the new Watch Connectivity framework to pass data back and forth. It also means that watch apps can be much faster and much more capable without the phone being present.

However, a watch app must still be bundled with a companion iOS app, at least for this year.

Becky Hansmeyer
  • 712
  • 6
  • 24
  • 1
    when we can develop "native apps"? why do apple describe it "native" then? –  Jun 25 '15 at 16:22
  • 1
    Apple hasn't announced anything with regard to truly native, standalone apps. You can do a bit more with watchOS 2 though, such as access the microphone, speaker, digital crown, heart rate sensor, and taptic engine programmatically. – Becky Hansmeyer Jun 26 '15 at 01:19
  • @user3745996: with watchOS 1 all of the processing occurred on the phone and the watch was basically a little screen connected wirelessly. Think of a Today Extension but on your wrist. With watchOS 2 some of the processing can be done on the watch itself. It's still using your phone for a lot of stuff like the network connection and installing the thing to begin with but you can, for example, have it make web service calls directly, not via the phone app. – Tom Kidd Oct 23 '15 at 19:43
  • @user3745996 It's possible some day that there might be a "only runs on the watch" app concept, store, etc. but it's not today and it's somewhat not likely given how tiny the screen is and how convenient it is to manage things with your phone. However, there's plenty of apps out there whose iPhone app is basically a static screen telling you to go look at your watch. – Tom Kidd Oct 23 '15 at 19:45
2

In iOS 13 it's possible to create independent watchOS application. More information can be found here. You have to download Xcode 11 to be able to create independent watchOS application.

To create it simply go to File -> New -> Project and select watchOS -> App as it's shown on a screenshot: enter image description here

Maxim Makhun
  • 2,197
  • 1
  • 22
  • 26