Shape Shape point chapter-list Group Group Group Group Group Shape Copy 12 Group Group Shape Shape Copy 3 Shape Shape dropdown editor editor Combined Shape grid Shape Copy 4 Shape Copy 7 Shape language language Shape megaphone paperback Shape platform noun_419259-2 copy play-icon Group BS-Question-Rounded-Circle quotes noun_610406 stacked-books-1 stacked-books-2 Group Group Group Group Group Group Group Group Group Group Group Path
watchOS by Tutorials book cover

watchOS by Tutorials

  • Platform watchOS 4
  • Language Swift 4
  • Editor Xcode 9

Learn all about the WatchKit framework, snapshots, notifications, complications, and much, much more!

Developer Guide


For intermediate iOS developers
watchOS by Tutorials book cover

Make Apple Watch apps with Swift 4!

This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to make Apple Watch apps for watchOS 4.

If you are new to Swift 4, we suggest you read the Swift Apprentice, which takes you on a comprehensive tour through the Swift language with beginners in mind.

If you are new to iOS, we suggest you read the iOS Apprentice. That will give you a solid foundation of building iOS apps using Swift 3 from the ground up.

We also recommend

Table of Contents

watchOS by Tutorials is a whopping 27 chapters and 535 pages. Let’s take a quick look at what’s inside:

Hello, Apple Watch!

Dive straight in and build your first watchOS app–a very modern twist on the age-old “Hello, world!” app.


Designing Great Watch Apps

Apple has repeatedly emphasized glanceable, actionable, and responsive as the design goal of watchOS 3 apps. From icon design to the new interactivity APIs, make your apps stand out from the rest.



watchOS might support native apps, but they still have an unusual architecture. This chapter will teach you everything you need to know about this unique aspect of watch apps.


UI Controls

There’s not a UIView to be found! In this chapter you’ll dig into the suite of interface objects that ship with WatchKit–watchOS’ user interface framework.



WKInterfacePicker is the only programmatic way to work with the Digital Crown. You’ll learn how to set one up, what the different visual modes are, and how to respond to the user interacting with the Digital Crown via the picker.



Auto Layout? Nope. Springs and Struts then? Nope. Guess again. Get an overview of the layout system you’ll use to build the interfaces for your watchOS apps.



Tables are the staple ingredient of almost any watchOS app. Learn how to set them up, how to populate them with data, and just how much they differ from UITableView.



You’ll learn about the different modes of navigation available on watchOS, as well as how to combine them.


Digital Crown and Gesture Recognition

Explore the rich set of physical interactions with the Watch, including the Digital Crown, pan gestures, and force touch!


Snapshot API

Glances are out, snapshots are in. Learn how to make your app appear in the new Dock — and update the icon dynamically!



You can now make network calls directly from the watch, and this chapter will show you the ins and outs of doing just that.



The way you animate your interfaces has changed in watchOS. You’ll learn everything you need to know about both animated image sequences and the new API in this chapter.



Learn how to persist and retrieve data with CloudKit and keep your Watch and iPhone synchronized — even when they’re not in range of each other.



watchOS offers support for several different types of notifications, and allows you to customize them to the individual needs of your watch app. In this chapter, you’ll get the complete overview.



Complications are small elements that appear on the user’s selected watch face and provide quick access to frequently used data from within your app. This chapter will walk you through the process of setting up your first complication, along with introducing each of the complication families and their corresponding layout templates.


Watch Connectivity

With the introduction of native apps, the way the watch app and companion iOS app share data has fundamentally changed. Out are App Groups, and in is the Watch Connectivity framework. In this chapter you’ll learn the basics of setting up device-to-device communication between the Apple Watch and the paired iPhone.


Audio Recording

As a developer, you can now record audio directly on the Apple Watch inline in your apps, without relying on the old-style system form sheets. In this chapter, you’ll gain a solid understanding of how to implement this.


Interactive Animations

Build a simple game that you can control with just your wrist — using SpriteKit and SceneKit.


Advanced Watch Connectivity

In earlier chapters, you learned how to set up a Watch Connectivity session and update the application context. In this chapter, you’ll take a look at some of the other features of the framework, such as background transfers and real-time messaging.


Advanced Complications

Now that you know how to create a basic complication, this chapter will walk you through adding Time Travel support, as well giving you the lowdown on how to efficiently update the data presented by your complication.


Handoff Video Playback

Want to allow your watch app users to begin a task on their watch and then continue it on their iPhone? Sure you do, and this chapter will show exactly how to do that through the use of Handoff.


Core Motion

The Apple Watch doesn’t have every sensor the iPhone does, but you can access what is available via the Core Motion framework. In this chapter, you’ll learn how to set up Core Motion, how to request authorization, and how to use the framework to track the user’s steps.



The HealthKit framework allows you to access much of the data stored in user’s health store, including their heart rate! This chapter will walk you through incorporating HealthKit into your watch app, from managing authorization to recording a workout session.


Core Location

A lot of apps are now location aware, but in order to provide this functionality you need access to the user’s location. With watchOS 3, developers now have exactly that via the Core Location framework. Learn everything you need to know about using the framework on the watch in this chapter.


Core Bluetooth

In watchOS 4, you can pair and interact with BLE devices directly. Learn how to send control instructions and other data directly over Bluetooth.



Learn how to expand your reach and grow a truly international audience by localizing your watch app using the tools and APIs provided by Apple.



You want as many people as possible to enjoy your watch app, right? Learn all about the assistive technologies available in watchOS, such as VoiceOver and Dynamic Type, so you can make your app just as enjoyable for those with disabilities as it is for those without.

Meet the authors

Ehab Amer Ehab Amer RW Team Member
Scott Atkinson Scott Atkinson RW Team Member
Soheil Azarpour Soheil Azarpour RW Team Member
Matthew Morey Matthew Morey RW Team Member
Ben Morrow Ben Morrow RW Team Member
Audrey Tam Audrey Tam RW Team Member
Jack Wu Jack Wu RW Team Member

Customer reviews

'watchOS by Tutorials'

I love this book, because it fulfilled two of my most important expectations: a fast but thorough tutorial, and clear explanation with good code examples.

Conny H.

The watchOS topic is deep in itself. I'm not sure I would ever approach a Watch app without this book. They have emboldened me to include watchOS targets in all my projects.

Paul C.

I loved the fact that I could jump to a particular section and find what I needed to successfully build and submit an iOS app with its corresponding Watch app.

Stewart L.
watchOS by Tutorials book cover

Get watchOS by Tutorials

Learn all about the WatchKit framework, snapshots, notifications, complications, and much, much more!