HACKING WITH watchOS

BUILD FOR ULTIMATE PORTABILITY

Includes free updates for new Swift versions – click to read my update policy

watchOS powers Apple's tiniest devices, but users take their watches everywhere they go – even in endurance sports. This means apps can be more personal than ever, delivering contextual information straight to your user's wrist.


100% watchOS 4

You can always be guaranteed you're learning the latest, greatest Apple technologies because all my tutorials are written for watchOS 4.

100% SWIFT 4

Don't waste time with out of date tutorials – here you can learn smart, powerful, and expressive Swift the way it was meant to be written.

100% PRACTICAL

You learn Swift while you make real watchOS projects, which means you get to apply your new skills immediately and see them work in context.

100% PROVEN

I've already taught thousands of people how to build iOS apps, and now I'll help you transfer your skills to watchOS and unleash the power of your desktop.

WHAT'S IN THE COURSE


If you already read Hacking with Swift, Hacking with macOS, or Server-Side Swift, you'll already know exactly how Hacking with watchOS is structured: I've designed a collection of app projects that teach all the core system frameworks, then ordered them so you start to learn with easy projects and work your way up over time.

Hacking with watchOS teaches you Swift and watchOS frameworks through real-world projects. There's a comprehensive Swift introduction for beginners, but I'm also packing the book with hints and tips that help you transfer your existing iOS skills to watchOS painlessly.

Hacking with watchOS includes 12 projects in total: four apps, four games, and four technique projects that focus on specific watchOS APIs. The projects are:

  • NoteDictate: Get started coding in Swift by making a notes app driven entiely by your user's voice.
  • Rock, Paper, Scissors: Learn how to use timers, images, groups, and more with this brain-teasing game.
  • Storing Data: Persist your apps data using UserDefaults, files, and the secure keychain.
  • WatchFX: Build a currency converter using live internet data, plus sliders, pickers, and a page-based user interface.
  • Hue Knows: Discover how alerts, menus, and notifications can help you build richer watchOS apps and games.
  • User Input: Voice dictation is just one input option – this project shows how to suggest text and accept emoji.
  • Magic 8-Ball: Build your own watch face complication that can predict the future. (Possibly)
  • Safe Crack: Combine the digital crown with haptic feedback and Grand Central Dispatch to create a fun puzzle.
  • Animation: Learn how to make your user interfaces come to life with attribute and image animations.
  • iMove: Design your own custom workout app using HealthKit and track calories, distance, and more.
  • ColorSpin: Add SpriteKit to your apps and build high-performance 2D games – it's easier than you think!
  • WatchConnectivity: Transfer data, settings, files, and complication updates between watchOS and iOS.

While building projects, you'll learn all this and more:

  • How WatchKit on watchOS differs from Cocoa Touch on iOS.
  • Creating advanced user interfaces with WKInterfaceTable, WKInterfaceImage, WKInterfaceButton, WKInterfacePicker, and more.
  • How to build apps that make the most of a small display – use the digital crown, gesture recognizers, and more.
  • Communicating with the user's iPhone to share information, including notifications and app data.
  • Reading and writing data using HealthKit to build your own workout app.
  • Designing apps to take advantage of system features such as watch complications, animations, voice dictation, and the secure keychain.
  • Handling animation, concurrency, and more.

I've done my best to make sure this book is accessible to everyone: if you're just starting out I'll make sure and explain every concept, but if you're coming from iOS there are tips to help you transfer your existing skills to watchOS.

Download full table of contents

Download free 24-page sample

Also available as part of the Swift Platform Pack bundle