apple watch intro

24
Apple Watch Development Introduction to Watch Kit Mike Bluestein @mikebluestein

Upload: mike-bluestein

Post on 08-Aug-2015

10.615 views

Category:

Software


0 download

TRANSCRIPT

Apple Watch Development

Introduction to Watch Kit

Mike Bluestein @mikebluestein

Apple Watch

• Requires an iPhone (5c or above)

• Connects to watch via BlueTooth

golfwatchscorecard.com

2 Watch Sizes

• 38mm and 42 mm

• Same aspect ratio

Apple Provided Apps

• Some Apple apps and features work without phone

• These apps have access to sensor data

• Full animation capability

3rd Party Apps

• Run entirely on iPhone

• Installed when installed on paired iPhone

• Watch is for UI presentation layer only

• Limited SDK - Watch Kit

• “Full” SDK later this year

Yes You Can• Create simple user interface

• Present data from the parent iPhone application

• Present notifications

• Present glaces

• Create image-based animations

No You Can’t

• Run apps without a connect iPhone

• Build watch-only apps

• Capture biometric sensor data

• Capture motion data

• Create timing based animations

App Structure

• Parent iPhone App

• Watch Extension

• Watch App

• Shared Code

UI Navigation

• Two types of UI navigation

• Page-based

• Hierarchical

• Cannot mix them (unless using a modal controller)

Layout

• Groups

• Easy to use

• Far less complex than auto-layout

Controls

• New set of UI controls

• Designed specifically for Apple Watch

• Easy to use

• Not as full-featured as UIKit

Menus

• Open with force touch gesture

• Controls for menu and menu items

• Handle selection in WKInterfaceController

Watch App

• Contains the user interface and static resources

• Storyboards are required

• No code runs on the watch

Watch Extension• Runs on the phone

• Has its own lifecycle

• Handles user interactions raised from watch app

• Updates user interface on watch remotely

• Performs shorter running tasks

• Access shared data

iPhone App

• Parent app to the watch app

• Performs longer running tasks

• Access shared data

• Does not share security

• Separate process from watch extension

App Groups

• Share data between iPhone and Watch Extension

• Can share files, settings, database

• Requires shared group entitlement

Communication

• App groups

• OpenParentApplication

• HandleWatchKitExtensionRequest

• Darwin notifications

WormHoleSharp

• Bridge between iOS app and Watch Extension

• Pass data or commands

• github.com/Clancey/WormHoleSharp

I’m being controlled from Apple

Watch!

Images• SetImage - works with UIImage

• SetImageData - works directly with bitmap data

• Both send data from iPhone to Apple Watch

• SetImageNamed - sends only name to watch

• Image is loaded from bundle or cache

• Used to create animation

• 20 MB cache with simple cache API

Notifications

• Local or remote notifications from iPhone

• Short-look - initial display of notification to user

• Long-look - displayed after user looks at short look for a few seconds

• Long-look is scrollable and can have action buttons

Glances

• Quick access to brief, relevant information

• Swipe up from watch face to access

• Not interactive

• One glance controller per app

• Tap glance to open watch app

App Store Requirements

• No alpha in images

• Use 42 mm for screenshots

• No mention of watch in iPhone app images

• Other?

Demo

Thanks!

Mike Bluestein

@[email protected]