building watch apps...architecture interface ui is stored in watch app plan your ui in advance code...

141
© 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. #WWDC15 Building Watch Apps Neil Desai watchOS Engineer Featured Session 108

Upload: others

Post on 01-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

© 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

#WWDC15

Building Watch Apps

Neil Desai watchOS Engineer

Featured

Session 108

Page 2: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Agenda

Page 3: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Agenda

Architecture

Page 4: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Agenda

ArchitectureInterface elements

Page 5: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Agenda

ArchitectureInterface elementsDebugging

Page 6: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Agenda

ArchitectureInterface elementsDebuggingwatchOS 2 Features

Page 7: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 8: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 9: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 10: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 11: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 12: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Architecture

Page 13: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 14: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 15: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Architecture

iPhone Apple Watch

Page 16: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Architecture

iPhone Apple Watch

Watch App

Page 17: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Architecture

iPhone Apple Watch

Watch App

Watch Extension

Page 18: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Architecture

iPhone Apple Watch

WatchConnectivity

iOS App

Watch App

Watch Extension

Page 19: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureInterface

UI is stored in Watch app

Page 20: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureInterface

UI is stored in Watch appPlan your UI in advance

Page 21: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureInterface

UI is stored in Watch appPlan your UI in advanceCode updates UI from the extension

Page 22: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureWatchKit Framework

One controller per screen of content

Page 23: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureWatchKit Framework

One controller per screen of contentManages UI elements through outlets

Page 24: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

ArchitectureWatchKit Framework

One controller per screen of contentManages UI elements through outletsUses target-action design pattern

Page 25: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 26: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 27: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 28: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 29: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Adding a Watch App

Page 30: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Adding a Watch App

Add Watch App target

Page 31: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Adding a Watch App

Add Watch App targetConfigure interface elements

Page 32: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Adding a Watch App

Add Watch App targetConfigure interface elementsBuild and run

Page 33: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Simulator

Page 34: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 35: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 36: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Page 37: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Full simulator

Page 38: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Full simulator38mm and 42mm

Page 39: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Full simulator38mm and 42mmSimulate Touch Pressure

Page 40: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Full simulator38mm and 42mmSimulate Touch PressureClock faces

Page 41: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorOverview

Full simulator38mm and 42mmSimulate Touch PressureClock facesMultiple apps

Page 42: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorTouch Pressure

Page 43: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

SimulatorTouch Pressure

Page 44: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Demo

Page 45: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

App Lifecycle

Page 46: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 47: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension Watch App

Page 48: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension Watch App

WKExtensionDelegate

DidFinishLaunching() Initialize app

Page 49: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension Watch App

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Page 50: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Page 51: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Page 52: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

willActivate()

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Display UI

Page 53: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

willActivate()

(various action methods)

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Display UI

Wearer interacts with UI

Page 54: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

willActivate()

(various action methods)

didDeactivate()

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Display UI

Wearer interacts with UI

Wearer stops interacting

Page 55: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

willActivate()

(various action methods)

didDeactivate()

WKExtensionDelegate

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Display UI

Wearer interacts with UI

Wearer stops interacting

Page 56: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Watch Extension

WKInterfaceController

Watch App

awakeWithContext()

willActivate()

(various action methods)

didDeactivate()

WKExtensionDelegate

WillResignActive()

WKExtensionDelegate

DidFinishLaunching()

DidBecomeActive()

Initialize app

Update modeI

Initialize UI

Display UI

Wearer interacts with UI

Wearer stops interacting

Active app to inactive

Page 57: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout

Page 58: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutModel

Page 59: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutModel

Different from UIKit and AppKit

Page 60: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutModel

Different from UIKit and AppKitFlow-based layout

Page 61: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutModel

Different from UIKit and AppKitFlow-based layoutUI created in Interface Builder

Page 62: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Page 63: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Page 64: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Image

Page 65: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Image

Page 66: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Image

Button

Page 67: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelFlow-based layout

Interface Controller

10:09

Image

Button

Page 68: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelGroups are containers of elements

Group

Interface Controller

10:09

Image

Button

Page 69: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit Layout ModelGroups are containers of elements

Group

Interface Controller

10:09

Image

Button

Page 70: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Label

WatchKit Layout ModelGroups are containers of elements

10:09

Image

Button

Image

Page 71: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

Page 72: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation code

Page 73: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation codeFine tuned control of

Page 74: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation codeFine tuned control of• Positioning and Sizing

Page 75: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation codeFine tuned control of• Positioning and Sizing• Layout hierarchy

Page 76: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation codeFine tuned control of• Positioning and Sizing• Layout hierarchy• Animation

Page 77: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchKit LayoutProgramming Model

You don’t write object creation codeFine tuned control of• Positioning and Sizing• Layout hierarchy• Animation

Layout and Animation Techniques for WatchKit Pacific Heights Thursday 10:00AM

Page 78: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 79: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 80: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 81: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Creating My UI

Page 82: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Creating My UI

Main App UIGlanceNotification

Page 83: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Demo

Page 84: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 85: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 86: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 87: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity

Page 88: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Page 89: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Page 90: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Application Context

Page 91: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Application Context Send Message

Page 92: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Application Context Send MessageFile Transfer

Page 93: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Application Context Send MessageFile TransferTransfer User info

Page 94: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Application Context Send MessageFile TransferTransfer User info

Introducing Watch Connectivity Pacific Heights Thursday 11:00AM

Page 95: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Page 96: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Add WatchConnectivity

Page 97: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Add WatchConnectivityDebug my app

Page 98: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WatchConnectivity Framework

Add WatchConnectivityDebug my appProfile with Instruments

Page 99: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Page 100: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 101: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per
Page 102: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Page 103: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Engagement times are short

Page 104: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Engagement times are shortPerformance is critical

Page 105: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Engagement times are shortPerformance is criticalDevice

Page 106: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Instruments

Engagement times are shortPerformance is criticalDeviceSimulator

Page 107: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Demo

Page 108: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Page 109: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Added a Watch app

Page 110: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Added a Watch appCreated an interface for our app and glance

Page 111: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Added a Watch appCreated an interface for our app and glanceWatchConnectivity

Page 112: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Added a Watch appCreated an interface for our app and glanceWatchConnectivityDebugged our iOS and watchOS apps

Page 113: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

WWDC CallMeLately

Added a Watch appCreated an interface for our app and glanceWatchConnectivityDebugged our iOS and watchOS appsProfiled in Instruments

Page 114: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

watchOS 2 Features

Page 115: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Complications

Page 116: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Complications

Page 117: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

😎

Digital Crown

Page 118: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

😎

Digital Crown

Page 119: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Animations

Page 120: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Animations

Page 121: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Heart Rate Sensors

Page 122: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Haptics

Page 123: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Haptics

Page 124: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Media Playback

Page 125: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Media Playback

Page 126: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Media Playback

Page 127: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Audio Recording

Page 128: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Audio Recording

Page 129: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Security

Page 130: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

Page 131: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

Architecture

Page 132: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch app

Page 133: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch appApp Lifecycle

Page 134: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch appApp LifecycleUse interface elements

Page 135: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch appApp LifecycleUse interface elementsBuild and run

Page 136: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch appApp LifecycleUse interface elementsBuild and runDebugging

Page 137: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Recap

ArchitectureAdding a Watch appApp LifecycleUse interface elementsBuild and runDebuggingUse watchOS capabilities

Page 138: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

More Information

DocumentationwatchOS 2 Transition GuideWatchKit Programming Guide

Sample CodeListerWatchKit Cataloghttp://developer.apple.com/watchOS

Technical SupportApple Developer ForumsDeveloper Technical Support

General InquiriesJake Behrens, watchOS Frameworks [email protected]

Page 139: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Related Sessions

Apple Watch Accessibility Pacific Heights Tuesday 1:30PM

WatchKit In-Depth, Part 1 Pacific Heights Wednesday 9:00AM

WatchKit In-Depth, Part 2 Pacific Heights Wednesday 10:00AM

Creating Complications with ClockKit Pacific Heights Wednesday 11:00AM

Layout and Animation Techniques for WatchKit Pacific Heights Thursday 10:00AM

WatchKit Tips and Tricks Presidio Friday 10:00AM

Introducing Watch Connectivity Pacific Heights Thursday 11:00AM

Designing for Apple Watch Presidio Wednesday 4:30PM

Apple Watch Design Tips and Tricks Presidio Friday 3:30PM

Page 140: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per

Labs

ClockKit Complications Lab Frameworks Lab D Wednesday 1:30PM

WatchKit Lab Frameworks Lab D Wednesday 3:30PM

Watch Connectivity Lab Frameworks Lab B Thursday 1:30PM

WatchKit Layout and Animation Lab Frameworks Lab A Thursday 3:30PM

WatchKit and ClockKit Complications Lab Frameworks Lab A Friday 1:30PM

Page 141: Building Watch Apps...Architecture Interface UI is stored in Watch app Plan your UI in advance Code updates UI from the extension Architecture WatchKit Framework One controller per