What s New in watchos

Similar documents
Creating Audio Apps for watchos

Quick Interaction Techniques for watchos

Building Watch Apps #WWDC15. Featured. Session 108. Neil Desai watchos Engineer

Designing for Apple Watch

Designing Great Apple Watch Experiences

Media and Gaming Accessibility

What s New in Core Bluetooth

Introducing Password AutoFill for Apps

Mastering UIKit on tvos

Using and Extending the Xcode Source Editor

WatchKit In-Depth, Part 2

Touch Bar Fundamentals

Writing Energy Efficient Apps

Modern User Interaction on ios

Introduction to Siri Shortcuts

What s New in Xcode App Signing

Enabling Your App for CarPlay

Data Delivery with Drag and Drop

Getting the Most Out of HealthKit

Creating Complications with ClockKit Session 209

What s New in Audio. Media #WWDC17. Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops

What s New in imessage Apps

New Ways to Work with Workouts

Using Grouped Notifications

Implementing UI Designs in Interface Builder

Extending Your Apps with SiriKit

Enhancing your apps for the next dimension of touch

Mastering Drag and Drop

What s New in SpriteKit

What s New in Energy Debugging

Apple Watch Design Tips and Tricks

Core ML in Depth. System Frameworks #WWDC17. Krishna Sridhar, Core ML Zach Nation, Core ML

imessage Apps and Stickers, Part 2

Building for Voice with Siri Shortcuts

What s New in MapKit. App Frameworks #WWDC17. Fredrik Olsson

Managing Documents In Your ios Apps

What s New in Core Data?

Monetize and Promote Your App with iad

What s New in SiriKit

What s New in Notifications

Introducing MusicKit. Media #WWDC17. Tim Parthemore, MusicKit Services Joel Lopes Da Silva, ios Music

Building Apps with Dynamic Type

Localizing with Xcode 9

What s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer

Apple Watch Docs. Release 0.1. Michael Hahn

Leveraging Touch Input on ios

Advanced Notifications

Building Visually Rich User Experiences

What s New in Testing

Advanced Scrollviews and Touch Handling Techniques

What s New in HomeKit

What s New in tvos 12

Your Apps and Evolving Network Security Standards

App Extension Best Practices

Accessibility on ios. Developing for everyone. Frameworks #WWDC14. Session 210 Clare Kasemset ios Accessibility

SceneKit in Swift Playgrounds

Advances in AVFoundation Playback

Amazfit Verge User Manual

Introducing the Modern WebKit API

ios Accessibility Developing for everyone Session 201 Ian Fisch ios Accessibility

AVContentKeySession Best Practices

Finding Bugs Using Xcode Runtime Tools

Building Faster in Xcode

What s New in Swift Playgrounds

Integrating Apps and Content with AR Quick Look

Vision Framework. Building on Core ML. Media #WWDC17. Brett Keating, Apple Manager Frank Doepke, He who wires things together

Adapting to the New UI of OS X Yosemite

Localization Best Practices on tvos

Core Data Best Practices

Your Apps and the Future of macos Security

CarPlay Audio and Navigation Apps

Seamless Linking to Your App

Validating HTTP Live Streams

Creating Great App Previews

What s New in Device Configuration, Deployment, and Management

Introduction to WatchKit. CS193W - Spring Lecture 1

Getting Started with CareKit

Engineering for Testability

Advances in TVMLKit. App Frameworks #WWDC17. Trevor Cortez, Localization Engineer Parry Panesar, tvos Engineer Jeremy Foo, tvos Engineer

Introducing SiriKit. Hey Siri, say hello to apps #WWDC16. App Frameworks. Session 217

Introducing Swift Playgrounds

Thread Sanitizer and Static Analysis

Accessibility on OS X

What s New in CloudKit

Introducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer

Introducing the Photos Frameworks

HLS Authoring Update. Media #WWDC17. Eryk Vershen, AVFoundation Engineer

Introducing On Demand Resources

1:Is my HUAWEI WATCH 2 compatible with an iphone or other ios. 2: What is the difference between the Android Wear, Huawei Wear, and

Design for Everyone. Design #WWDC17. Caroline Cranfill, Designer Alexander James O Connell, Designer

Power, Performance, and Diagnostics

Understanding Undefined Behavior

Writing Great Alerts. Design #WWDC17. Natalie Calvert, Designer

Content Protection for HTTP Live Streaming

What s New in Cocoa for macos

Improving your Existing Apps with Swift

What s New in ARKit 2

New UIKit Support for International User Interfaces

SceneKit: What s New Session 604

What s New in Foundation for Swift Session 207

Transcription:

Session App Frameworks #WWDC17 What s New in watchos 205 Ian Parks, watchos Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

watchos 4

Glanceable

Glanceable Actionable

Glanceable Actionable Responsive

UI Flexibility

UI Flexibility Performance

UI Flexibility Performance Background Processing

UI Flexibility

// Enable Water Lock @IBAction func waterlockbuttonpressed() { } WKExtension.shared().enableWaterLock()

// Enable Water Lock @IBAction func waterlockbuttonpressed() { } WKExtension.shared().enableWaterLock()

// Enable Autorotate override func willactivate() { } WKExtension.shared().isAutorotating = true

// Enable Autorotate override func willactivate() { } WKExtension.shared().isAutorotating = true

Proloquo4Text

Starbucks

Starbucks

// Vertical Paging Interface func loadworkout(workouttype: String) { WKInterfaceController.reloadRootPageControllers( withnames: ["workoutachievement", "workoutsummary"], contexts: nil, orientation:.vertical, pageindex: 0) }

// Vertical Paging Interface func loadworkout(workouttype: String) { WKInterfaceController.reloadRootPageControllers( withnames: ["workoutachievement", "workoutsummary"], contexts: nil, orientation:.vertical, pageindex: 0) }

// Vertical Paging Interface func loadworkout(workouttype: String) { WKInterfaceController.reloadRootPageControllers( withnames: ["workoutachievement", "workoutsummary"], contexts: nil, orientation:.vertical, pageindex: 0) }

//Scroll Position Callbacks and Setting Scroll Position func interfaceoffsetdidscrolltobottom() func interfaceoffsetdidscrolltotop() func interfacedidscrolltotop() func scroll(to: WKInterfaceObject, at: WKInterfaceScrollPosition, animated: Bool)

//Scroll Position Callbacks and Setting Scroll Position func interfaceoffsetdidscrolltobottom() func interfaceoffsetdidscrolltotop() func interfacedidscrolltotop() func scroll(to: WKInterfaceObject, at: WKInterfaceScrollPosition, animated: Bool)

//Scroll Position Callbacks and Setting Scroll Position func interfaceoffsetdidscrolltobottom() func interfaceoffsetdidscrolltotop() func interfacedidscrolltotop() func scroll(to: WKInterfaceObject, at: WKInterfaceScrollPosition, animated: Bool)

Planning a Great Apple Watch Experience Grand Ballroom B Thursday 5:10PM

Performance

App Process Extension Process

System Extension App Process Process Code UI Elements

System App Process UI Elements Method Calls Code

Background Processing

Workout Background Mode

Workout Background Mode Hardware pause/resume

Workout Background Mode Hardware pause/resume Workout segments

Workout Background Mode Hardware pause/resume Workout segments Workout routes

Workout Background Mode Hardware pause/resume Workout segments Workout routes What s New in Health Grand Ballroom B Wednesday 5:10PM

Location Background Mode

Location Background Mode Appears on wrist raise

Location Background Mode Appears on wrist raise Audio and haptics from background

Location Background Mode Appears on wrist raise Audio and haptics from background Supports enabling water lock mode

Location Background Mode Appears on wrist raise Audio and haptics from background Supports enabling water lock mode CPU limited

Location Background Mode Appears on wrist raise Audio and haptics from background Supports enabling water lock mode CPU limited Start from foreground

Location Background Mode Appears on wrist raise Audio and haptics from background Supports enabling water lock mode CPU limited Start from foreground

In-line Audio Recording and Background Mode

In-line Audio Recording and Background Mode

In-line Audio Recording and Background Mode Custom recording controls

In-line Audio Recording and Background Mode Custom recording controls In-line processing

In-line Audio Recording and Background Mode Custom recording controls In-line processing Background recording

In-line Audio Recording and Background Mode Appears on wrist raise CPU limited Start from foreground

In-line Audio Recording and Background Mode Appears on wrist raise CPU limited Start from foreground

Core Bluetooth

Core Bluetooth Limited to two peripherals

Core Bluetooth Limited to two peripherals Central support only

Core Bluetooth Limited to two peripherals Central support only Minimum connection interval of 30ms foreground (120ms background)

Core Bluetooth Limited to two peripherals Central support only Minimum connection interval of 30ms foreground (120ms background) Background running apps can only connect (not scan)

Core Bluetooth Limited to two peripherals Central support only Minimum connection interval of 30ms foreground (120ms background) Background running apps can only connect (not scan) Peripherals disconnect when app is suspended

Core Bluetooth Limited to two peripherals Central support only Minimum connection interval of 30ms foreground (120ms background) Background running apps can only connect (not scan) Peripherals disconnect when app is suspended What s New in Core Bluetooth Grand Ballroom B Thursday 11:00AM

ReSound Smart 3D

Frontmost App State

Frontmost App State

Frontmost App State Extended frontmost time

//Enable Extended Frontmost override func willactivate() { } WKExtension.shared().isFrontmostTimeoutExtended = true

//Enable Extended Frontmost override func willactivate() { } WKExtension.shared().isFrontmostTimeoutExtended = true

Frontmost App State Extend runtime

Frontmost App State Extend runtime URLSession

Frontmost App State Extend runtime URLSession WatchConnectivity

Frontmost App State Extend runtime URLSession WatchConnectivity Haptic playback

Frontmost App State Extend runtime URLSession WatchConnectivity Haptic playback Notification handling

The Life of a watchos App Grand Ballroom B Wednesday 1:50PM

Summary UI Flexibility

Summary UI Flexibility

Summary UI Flexibility

Summary System App Process Performance UI Elements Method Calls Code

Summary New background modes Background Core Bluetooth Processing Frontmost app state

Related Sessions The Life of a watchos App Grand Ballroom B Wednesday 1:50PM What s New in Health Grand Ballroom B Wednesday 5:10PM What s New in Core Bluetooth Grand Ballroom B Thursday 11:00AM Planning a Great Watch App Experience Grand Ballroom B Thursday 5:10PM

Labs Background Updates and WatchKit Lab Technology Lab H Wed 3:10PM 6:00PM WatchKit Lab Technology Lab C Thu 1:00PM 4:00PM WatchConnectivity and WatchKit Lab Technology Lab B Fri 9:00AM 11:00AM

More Information https://developer.apple.com/wwdc17/205