Curt CliftonThe Omni Group. Jan 8, 2015, Seattle Xcoders 1 - - PowerPoint PPT Presentation

curt clifton the omni group jan 8 2015 seattle xcoders 1
SMART_READER_LITE
LIVE PREVIEW

Curt CliftonThe Omni Group. Jan 8, 2015, Seattle Xcoders 1 - - PowerPoint PPT Presentation

Curt CliftonThe Omni Group. Jan 8, 2015, Seattle Xcoders 1 Developing with WatchKit 1.0 Curt CliftonThe Omni Group. Jan 8, 2015, Seattle Xcoders 2 Developing with WatchKit 1.0 Curt Clifton, The Omni Group @curtclifton curtclifton.net


slide-1
SLIDE 1 Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 1
slide-2
SLIDE 2

Developing with

WatchKit 1.0

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 2
slide-3
SLIDE 3

Developing with WatchKit 1.0

Curt Clifton, The Omni Group

@curtclifton curtclifton.net Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 3
slide-4
SLIDE 4 Outline — Conceptual model — Sample app — Syncing data with Watch — Debugging Watch apps — Some challenges — Other resources — Wish list Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 4
slide-5
SLIDE 5

Conceptual

Model

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 5
slide-6
SLIDE 6

In WatchKit 1.0 your code runs in an extension on the iPhone.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 6
slide-7
SLIDE 7

In WatchKit 1.0 your code runs in an extension on the iPhone.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 7
slide-8
SLIDE 8

All the WatchKit classes fit on

  • ne slide that you can read.
Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 8
slide-9
SLIDE 9

All the WatchKit classes fit on

  • ne slide that you can read.
Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 9
slide-10
SLIDE 10

All the WKInterfaceObjects are proxies for views on the watch.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 10
slide-11
SLIDE 11

All the WKInterfaceObjects are proxies for views on the watch.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 11
slide-12
SLIDE 12

All the WKInterfaceObjects are proxies for views on the watch.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 12
slide-13
SLIDE 13 Conceptual Model — In WatchKit 1.0 your code runs in an extension on the iPhone. — All the WKInterfaceObjects are proxies for views
  • n the watch.
Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 13
slide-14
SLIDE 14

Sample

App

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 14
slide-15
SLIDE 15

Syncing

Data with Watch

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 15
slide-16
SLIDE 16

Your watch extension is a separate process from your iPhone app; you just signed up for data syncing.

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 16
slide-17
SLIDE 17

Watch apps die easily; network

  • perations are

right out.1

1 Monty Python and the Holy Grail Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 17
slide-18
SLIDE 18 What’s a developer to do? — File coordination? Nope. — App Group entitlement and user defaults — Shared CoreData database — Shared SQLite database — Seed file & callbacks Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 18
slide-19
SLIDE 19

Cartoon of the Day

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 19
slide-20
SLIDE 20 Cartoon of the Day2 2 https://xkcd.com/356/ Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 20
slide-21
SLIDE 21

Syncing Using Seed File & Callbacks

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 21
slide-22
SLIDE 22 Syncing Data with Watch — Your watch extension is a separate process from your iPhone app; you just signed up for data syncing. — Watch apps die easily; network operations are right out.1 1 Monty Python and the Holy Grail Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 22
slide-23
SLIDE 23

Debugging Watch Apps

— Run iPhone app first — Open Watch “external display” — Launch the WatchKit app — In the simulator, tap the iPhone app — In Xcode, connect to the iPhone app — Use Console to watch Simulator’s system log Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 23
slide-24
SLIDE 24

Challenges

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 24
slide-25
SLIDE 25 Challenges — Sending UI commands to non-active controls — Using shared frameworks — Selecting watch menu items crashes the simulator eventually — No auto layout? — Notifications while watch app is running? Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 25
slide-26
SLIDE 26

Useful

Resources

Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 26
slide-27
SLIDE 27 From Apple — Marketing site — Dev and design resources Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 27
slide-28
SLIDE 28 From Others — “A Day with Watch” Craig Hockenberry — “As I Learn WatchKit” David Smith — To-scale Watch Mockup PDF Thibaut Sailly Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 28
slide-29
SLIDE 29 Bezel — Free from Troy Gaul — Combine with Xscope Mirror Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 29
slide-30
SLIDE 30 Wish List — Direct access to the Taptic Engine — iPhone-free 3rd party code — API for digital crown — Animated state changes — Interactive Glances Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 30
slide-31
SLIDE 31

Thanks!

— @curtclifton, curtclifton.net — @davidhoang, davidhoang.com Curt Clifton—The Omni Group. Jan 8, 2015, Seattle Xcoders 31