•What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer...

185
#WWDC17 © 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Sirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer What’s New in SiriKit Session 214 App Frameworks

Transcript of •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer...

Page 1: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

#WWDC17

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

Sirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer

•What’s New in SiriKit • Session 214

App Frameworks

Page 2: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 3: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Messaging

Climate and Radio

Ride Booking

Workouts

Photo Search

PaymentsCar Commands

VOIP Calling

Page 4: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Get me a ride to SFO via MyRidesApp Send a text to Carey using Unicorn Stop my workout in MyWorkoutApp

Call Mike on my MyVoIPApp Messaging Send $10 to John Doe for dinner using MyPayApp Book me a Ride

Look for beach photos in MyPhotosApp Climate and Radio Show missed calls from Jon Appleseed in Unicorn

Ride Booking Start my daily workout Start slideshow in my UnicornPhotoApp

Find messages from Jon on Unicorn Photo Search Show all my accounts

Resume my daily run Workouts Pay the current balance on garbage bill

Pay my sparkle sparks cleaners bills Set heater to 72 degrees Payments

Change my audio source to USB Pay my rent to unicorn rental properties

Send $9 to John Doe using Unicorn Ask John to pay me $100 in UnicornPay

Car Commands Call John on MyVoIPApp Search for cute dog pics in my UnicornApp

How far can I drive my car on the current charge VOIP Calling Pause my sparklySparkle run in UnicornApp

Are the car doors unlocked Turn on the AC Switch to FM radio Turn off the front defroster Pay all my bills

Messaging

Climate and Radio

Ride Booking

Workouts

Photo Search

Payments

Car Commands

VOIP Calling

Page 5: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 6: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 7: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Domains and intents •Customizable UI •Additional enhancements

Page 8: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Domains and intents •Customizable UI •Additional enhancements

Page 9: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Domains and intents •Customizable UI •Additional enhancements

Page 10: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Domains and intents •Customizable UI •Additional enhancements

Page 11: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents

Page 12: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents

Payments

Page 13: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents

Payments

Lists and notes

Page 14: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents

Payments

Lists and notes

Visual codes

Page 15: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Page 16: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Send/Request

Page 17: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Send/Request

Bills

Page 18: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Send/Request

Bills

Accounts

Page 19: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Send/Request

Bills

Accounts• Transfer

Page 20: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

Send/Request

Bills

Accounts• Transfer• Search

Page 21: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 22: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 23: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 24: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 25: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 26: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 27: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 28: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 29: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

https://developer.apple.com/reference/intents/invocabulary

Page 30: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 31: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 32: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 33: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 34: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 35: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

NEW

Page 36: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

INTransferMoneyIntent

NEW

Page 37: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Payments

INTransferMoneyIntent

INSearchForAccountsIntent

NEW

Page 38: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

Page 39: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 40: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 41: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 42: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 43: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

NEW

Page 44: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INCreateTaskListIntent

NEW

Page 45: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INCreateTaskListIntent

INAddTasksIntent

NEW

Page 46: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INCreateTaskListIntent

INAddTasksIntent

INSetTaskAttributeIntent

NEW

Page 47: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

“Create a note called WWDC in UnicornNotes”

Page 48: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

“Create a note called WWDC in UnicornNotes” title

Page 49: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

“Create a note called WWDC in my presentation folder saying SiriKit in UnicornNotes”

Domains and Intents Lists and Notes

title groupName content

Page 50: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

“Create a note called WWDC in my presentation folder saying SiriKit in UnicornNotes”

“Add to my WWDC note in UnicornNotes saying It’s on June 7th”

title groupName content

Page 51: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

“Create a note called WWDC in my presentation folder saying SiriKit in UnicornNotes”

“Add to my WWDC note in UnicornNotes saying It’s on June 7th”

Domains and Intents Lists and Notes

title groupName content

targetNote content

Page 52: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

NEW

Page 53: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INCreateNoteIntent

NEW

Page 54: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INCreateNoteIntent

INAppendToNoteIntent

NEW

Page 55: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 56: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

NEW

Page 57: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INSearchForNotebookItemsIntent • title • content • itemType • status • location • dateTime

NEW

Page 58: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Lists and Notes

INCreateNoteIntent

INSearchForNotebookItemsIntent • title • content • itemType • status • location • dateTime

NEW

Page 59: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

Page 60: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 61: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

NEW

Page 62: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

INGetVisualCodeIntent

NEW

Page 63: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

INGetVisualCodeIntent• visualCodeType

NEW

Page 64: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

INGetVisualCodeIntent• visualCodeType

- contact

NEW

Page 65: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

INGetVisualCodeIntent• visualCodeType

- contact- requestPayment

NEW

Page 66: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Domains and Intents Visual codes

INGetVisualCodeIntent• visualCodeType

- contact- requestPayment- sendPayment

NEW

Page 67: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Tin Tran, SiriKit Engineer

•Adding Visual Codes to UnicornChat

Page 68: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 69: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Info.plist

Page 70: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Info.plist

Page 71: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Info.plist

Page 72: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 73: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 74: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Demo

Page 75: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Supporting Intents

Page 76: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Supporting Intents

Info.plist

Page 77: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Supporting Intents

Info.plist

Principal class

Page 78: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Supporting Intents

Info.plist

Principal class

Resolve, confirm, and handle

Page 79: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Customizable UI

Page 80: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

SiriKit Extensions

Intents Extension (iOS, watchOS)

Resolve

Confirm

Handle

Intents UI Extension (iOS)

Configure view

Page 81: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 82: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

Page 83: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

Page 84: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

Page 85: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

Page 86: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 87: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

rideDriver

rideVehicle

pickupLocation

dropOffLocation

scheduledPickupTime

Page 88: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

rideDriver

rideVehicle

pickupLocation

dropOffLocation

scheduledPickupTime

Page 89: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

NEW

Page 90: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

NEW

Page 91: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

NEW

Page 92: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

NEW

Page 93: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

NEW

Page 94: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

// INInteraction

let pickupLocationValue = interaction.parameterValue(for: pickupLocation)

NEW

Page 95: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

// INInteraction

let pickupLocationValue = interaction.parameterValue(for: pickupLocation)

NEW

Page 96: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation

// INParameter

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, keyPath: #keyPath(INRequestRideIntent.pickupLocation)

// INInteraction

let pickupLocationValue = interaction.parameterValue(for: pickupLocation)

NEW

Page 97: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 98: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 99: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 100: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 101: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 102: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 103: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 104: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 105: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 106: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 107: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Intents UI Extension

class MyViewController: UIViewController, INUIHostedViewControlling { func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {} }

NEW

Page 108: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 109: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

San Jose, CA Majestic Unicorn $3.25

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 110: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

INUIHostedViewControlling

Siri

Page 111: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

INUIHostedViewControlling

Siri

configureView[]

Page 112: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

UI Extension

Siri

Page 113: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

UI Extension

Siri

false, [], CGSize.zero

Page 114: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Empty Parameters

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { if parameters.isEmpty { completion(false, [], CGSize.zero) }}

Page 115: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Empty Parameters

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { if parameters.isEmpty { completion(false, [], CGSize.zero) }}

Page 116: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Empty Parameters

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { if parameters.isEmpty { completion(false, [], CGSize.zero) }}

Page 117: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

UI Extension

Siri

Page 118: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

UI Extension

Siri

configureView[pickupLocation]

Page 119: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INUIHostedViewControlling

Siri

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 120: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INUIHostedViewControlling

Siri

true, [pickupLocation],sizeForPickupVIew

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 121: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INUIHostedViewControlling

Siri

true, [pickupLocation],sizeForPickupVIew

specialPricing

priceRange

dropOffLocation

pickupLocation

pickupLocation

rideOptionName

Page 122: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INUIHostedViewControlling

Siri

true, [pickupLocation],sizeForPickupVIew

specialPricing

priceRange

dropOffLocation

pickupLocation

rideOptionName

Page 123: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INUIHostedViewControlling

Siri

true, [pickupLocation],sizeForPickupVIew

specialPricing

priceRange

dropOffLocation

pickupLocation

rideOptionName

Page 124: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Pickup Location

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, parameterKeyPath: #keyPath(INRequestRideIntent.pickupLocation))

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else { completion(false, [], CGSize.zero) } }

Page 125: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Pickup Location

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, parameterKeyPath: #keyPath(INRequestRideIntent.pickupLocation))

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else { completion(false, [], CGSize.zero) } }

Page 126: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Pickup Location

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, parameterKeyPath: #keyPath(INRequestRideIntent.pickupLocation))

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else { completion(false, [], CGSize.zero) } }

Page 127: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Pickup Location

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, parameterKeyPath: #keyPath(INRequestRideIntent.pickupLocation))

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else { completion(false, [], CGSize.zero) } }

Page 128: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Pickup Location

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {

let pickupLocation = INParameter(parameterClass: INRequestRideIntent.self, parameterKeyPath: #keyPath(INRequestRideIntent.pickupLocation))

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else { completion(false, [], CGSize.zero) } }

Page 129: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

rideOptionName

pickupLocation

name

INUIHostedViewControlling

Siri

Page 130: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

rideOptionName

pickupLocation

name

INUIHostedViewControlling

Siri

configureView[rideOptionName]

Page 131: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

rideOptionName

pickupLocation

rideOptionName

INUIHostedViewControlling

Siri

Page 132: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

rideOptionName

pickupLocation

rideOptionName

INUIHostedViewControlling

Siri

true, [rideOptionName, dropOffLocation, priceRange,

specialPricing], sizeForDetailView

Page 133: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

specialPricing

priceRange

dropOffLocation

rideOptionName

pickupLocation

rideOptionName

INUIHostedViewControlling

Siri

true, [rideOptionName, dropOffLocation, priceRange,

specialPricing], sizeForDetailView

Page 134: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

San Jose, CA Majestic Unicorn $3.25

INUIHostedViewControlling

Siri

true, [rideOptionName, dropOffLocation, priceRange,

specialPricing], sizeForDetailView

Page 135: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 136: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 137: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 138: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 139: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 140: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Configure Details

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) { // Configure parameters.

if parameters == [pickupLocation] { // Configure view for pickup location. completion(true, [pickupLocation], self.sizeForPickupView) } else if parameters == [rideOptionName] { // Configure view for details. completion(true, [rideOptionName, dropOffLocation, priceRange, specialPricing], self.sizeForDetailView) } else { completion(false, [], CGSize.zero) } }

Page 141: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

Page 142: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

San Jose, CA Majestic Unicorn $3.25

Page 143: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

From: 1000 Stockton St $3.25To: San Jose, CA

San Jose, CA Majestic Unicorn

San Jose, CA Majestic Unicorn $3.25

United Unicorn Co.

San Jose, CA Majestic Unicorn $3.25

Page 144: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Customizing UnicornRide

Page 145: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

pickupLocation dropOffLocation rideOptionName

fare, specialPricingFrom: 1000 Stockton St To: San Jose McEnery Convention Center Type: Majestic Unicorn

Page 146: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 147: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the
Page 148: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Demo

Page 149: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Configuring Parameterized View

Page 150: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Configuring Parameterized View

Called multiple times

Page 151: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Configuring Parameterized View

Called multiple times

Called first with empty set parameters

Page 152: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Configuring Parameterized View

Called multiple times

Called first with empty set parameters

Called in order for the interaction

Page 153: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Configuring Parameterized View

Called multiple times

Called first with empty set parameters

Called in order for the interaction

Handle parameters, size

Page 154: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Upcoming Seed

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, interactiveBehavior: INUIInteractiveBehavior, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {}

// INUIInteractiveBehavior: // .None // .Launch // .NextView // .GenericAction

NEW

Page 155: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Upcoming Seed

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, interactiveBehavior: INUIInteractiveBehavior, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {}

// INUIInteractiveBehavior: // .None // .Launch // .NextView // .GenericAction

NEW

Page 156: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

// Upcoming Seed

func configureView(for parameters: Set<INParameter>, of interaction: INInteraction, interactiveBehavior: INUIInteractiveBehavior, context: INUIHostedViewContext, completion: @escaping (Bool, Set<INParameter>, CGSize) -> Void) {}

// INUIInteractiveBehavior: // .None // .Launch // .NextView // .GenericAction

// Intents UI Extension Context

func descriptionOfInterfaceParameters() -> String

NEW

Page 157: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

•Additional Enhancements

Page 158: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Additional Enhancements

Page 159: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Additional Enhancements

Background workout app intent handling

Page 160: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Additional Enhancements

Background workout app intent handling

Alternative app names

Page 161: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Additional Enhancements Background workout app intent handling

Page 162: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

ExtensionINStartWorkoutIntentResponse(code: , userActivity: activity)

Additional Enhancements Background workout app intent handling

.continueInApp

func application(_ application: UIApplication, ) {…}

App

continue userActivity: NSUserActivity

Page 163: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

ExtensionINStartWorkoutIntentResponse(code: , userActivity: activity)

Additional Enhancements Background workout app intent handling

func application(_ application: UIApplication, , completionHandler: @escaping (INIntentResponse) -> Void) {

App

NEW

.handleInApp

handleIntent intent: INIntent

Page 164: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

ExtensionINStartWorkoutIntentResponse(code: , userActivity: activity)

Additional Enhancements Background workout app intent handling

func application(_ application: UIApplication, , completionHandler: @escaping (INIntentResponse) -> Void) {

App

NEW

.handleInApp

handleIntent intent: INIntent

Page 165: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

ExtensionINStartWorkoutIntentResponse(code: , userActivity: activity)

Additional Enhancements Background workout app intent handling

func application(_ application: UIApplication, , completionHandler: @escaping (INIntentResponse) -> Void) {

App

NEW

.handleInApp

handleIntent intent: INIntent

Page 166: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Additional Enhancements Background workout app intent handling

Page 167: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Extension

Additional Enhancements Background workout app intent handling

Page 168: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Extension

Additional Enhancements Background workout app intent handling

handle(…)

Page 169: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Extension

Additional Enhancements Background workout app intent handling

INStartWorkoutIntentResponseCode.handleInApp

handle(…)

Page 170: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Application

Extension

Additional Enhancements Background workout app intent handling

INStartWorkoutIntentResponseCode.handleInApp

handle(…)

Page 171: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Application

Extension

Additional Enhancements Background workout app intent handling

INStartWorkoutIntentResponseCode.handleInApp

application(_ application: UIApplication, handle intent: INIntent …)

handle(…)

Page 172: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Application

Extension

Additional Enhancements Background workout app intent handling

INStartWorkoutIntentResponseCode.handleInApp

application(_ application: UIApplication, handle intent: INIntent …)

handle(…)

INStartWorkoutIntentResponseCode.handleInApp.success

Page 173: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Application

Extension

Additional Enhancements Background workout app intent handling

INStartWorkoutIntentResponseCode.handleInApp

application(_ application: UIApplication, handle intent: INIntent …)

handle(…)

INStartWorkoutIntentResponseCode.handleInApp.success

Page 174: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INCreateNoteIntent

Additional Enhancements Alternative app names

Page 175: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

INCreateNoteIntent

Additional Enhancements Alternative app names

“Show my accounts in UnicornPay”

“Show my accounts in Unicorn”

“Show my accounts in CornPay”

UnicornPay

Page 176: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

0:00:02

Additional Enhancements Alternative app names

NEW

Page 177: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

0:00:02

Additional Enhancements Alternative app names

NEW

Page 178: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Summary

Page 179: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Summary

All new domains and intents

Page 180: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Summary

All new domains and intents

UI customizations

Page 181: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Summary

All new domains and intents

UI customizations

Improved user experience

Page 182: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

More Informationhttps://developer.apple.com/videos/play/wwdc2017/214

Page 183: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

Related Sessions

Making Great SiriKit Experiences Hall 2 Thursday 11:00AM

Introducing SiriKit WWDC 2016

Extending Your Apps with SiriKit WWDC 2016

Page 184: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the

SiriKit Lab Technology Lab B Wed 3:10PM–5:00PM

SiriKit Lab Technology Lab C Fri 9:00AM–12:00PM

Labs

Page 185: •What’s New in SiriKit - Apple Inc. · PDF fileSirisha Yerroju, SiriKit Engineer Tin Tran, SiriKit Engineer •What’s New in SiriKit ... Resume my daily run Workouts Pay the