a swift introduction to ios 10
TRANSCRIPT
![Page 1: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/1.jpg)
JAMES SUGRUEA SWIFT INTRODUCTION TO IOS 10
@SUGRUE
![Page 2: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/2.jpg)
SIRIKIT
![Page 3: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/3.jpg)
▸ VoIP calling
▸ Messaging
▸ Payments
▸ Photo
▸ CarPlay (automotive vendors only)
▸ Restaurant reservations (requires additional support from Apple)
DOMAINSSIRIKIT
▸ Workouts
▸ Ride booking
▸ CarPlay (automotive vendors only)
▸ Restaurant reservations (requires additional support from Apple)
![Page 4: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/4.jpg)
▸ Data Model
▸ Networking
▸ User Interface
▸ Decision Making Logic
PREPARATIONSIRIKIT
If you are adding SiriKit to an existing app, consider Embedded Frameworks
![Page 5: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/5.jpg)
SIRIKIT ADD EXTENSION
![Page 6: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/6.jpg)
SIRIKIT EXTENSIONS
![Page 7: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/7.jpg)
SIRIKIT ENABLING SIRI FOR YOUR APP▸ NSSiriUsageDescription
key in Info.plist to describe what your app plans to do with Siri
▸ Call requestSiriAuthorization to display the alert to user.
![Page 8: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/8.jpg)
SIRIKIT INTENTSIntentHandler inherits from INExtension and then specific Intent handlers
![Page 9: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/9.jpg)
SIRIKIT INTENTSDeclare intents supported by your extension in Info.plist
▸ Each Intent that you support will need to be listed in IntentsSupported
▸ Use IntentsRestrictedWhileLocked to prevent access to features when the phone is locked
![Page 10: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/10.jpg)
SIRIKIT RESOLVE, CONFIRM, HANDLE
![Page 11: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/11.jpg)
SIRIKIT RESOLVE, CONFIRM, HANDLE
![Page 12: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/12.jpg)
SIRIKIT MAPS
![Page 13: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/13.jpg)
MAPS
![Page 14: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/14.jpg)
APPSIMESSAGE
![Page 15: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/15.jpg)
IMESSAGE APP STORE
![Page 16: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/16.jpg)
IMESSAGE STANDALONE APPS
![Page 17: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/17.jpg)
IMESSAGE EXTENDING EXISTING APPS
![Page 18: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/18.jpg)
IMESSAGE CUSTOM INTERFACE
![Page 19: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/19.jpg)
IMESSAGE CUSTOM INTERFACE
MSMessagesAppViewController inherits from UIViewController
Track messages with didReceive, didStartSending, didCancelSending
![Page 20: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/20.jpg)
IMESSAGE CUSTOM INTERFACE
![Page 21: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/21.jpg)
STICKERSIMESSAGE
![Page 22: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/22.jpg)
IMESSAGE APP STORE
![Page 23: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/23.jpg)
IMESSAGE STICKER PACK
![Page 24: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/24.jpg)
IMESSAGE STICKER PACK
![Page 25: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/25.jpg)
IMESSAGE STICKER PACK
![Page 26: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/26.jpg)
IMESSAGE STICKER PACK
![Page 27: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/27.jpg)
“LINE SOLD $268 MILLION WORTH OF STICKERS LAST YEAR AMID ASIA’S MESSAGING BOOM”
![Page 28: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/28.jpg)
ANIMATIONS
![Page 29: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/29.jpg)
ANIMATIONS
▸ UIViewPropertyAnimator create reusable animations and trigger when required
▸ Animate changes to views and dynamically modify your animations before they finish
![Page 30: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/30.jpg)
ANIMATIONS DEMO
![Page 31: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/31.jpg)
USER NOTIFICATIONS
![Page 32: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/32.jpg)
NOTIFICATION SERVICENOTIFICATIONS
![Page 33: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/33.jpg)
SPEECH RECOGNITION
![Page 34: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/34.jpg)
▸ Import Speech Framework
▸ SFSpeechRecognizer handles recognition in a specific locale
▸ SFSpeechAudioBufferRecognitionRequest provides audio input to the recogniser
▸ SFSpeechRecognitionTask provides result of the request, allows cancelling task
▸ AVAudioEngine provides audio input
REQUIRED PARTSSPEECH RECOGNITION
![Page 35: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/35.jpg)
USER PERMISSION REQUIRED!
TheApp
![Page 36: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/36.jpg)
SPEECH RECOGNITION LIMITATIONS▸ “Devices are limited by the number of recognitions that can
be performed in one day”
▸ “Individual apps may be throttled globally”
▸ “Speech recognition can place a relatively high burden on battery life and network usage”
▸ “Utterance audio duration is limited to about one minute, which is similar to the limit for keyboard-related dictation”
https://developer.apple.com/reference/speech
![Page 37: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/37.jpg)
SWIFT 3.0
![Page 38: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/38.jpg)
SWIFT 3.0 CHANGES
▸ Access control changesprivate, fileprivate, public and open
▸ Verbs & NounsmyArray.sort() //returns sorted version the
▸ User Interface
▸ Decision Making Logic
![Page 39: A Swift Introduction to iOS 10](https://reader031.vdocuments.net/reader031/viewer/2022021502/58edc4721a28ab1b308b45b3/html5/thumbnails/39.jpg)
JAMES SUGRUEA SWIFT INTRODUCTION TO IOS 10
@SUGRUE