Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CocoaHeads SKG #5 - Introduction to tvOS
Search
CocoaHeadsSKG
June 07, 2016
Programming
0
55
CocoaHeads SKG #5 - Introduction to tvOS
The awesome @ipavelas makes a sweet introduction to tvOS
CocoaHeadsSKG
June 07, 2016
Tweet
Share
More Decks by CocoaHeadsSKG
See All by CocoaHeadsSKG
CocoaHeads SKG #10 - Migrating to Swift
cocoaheadsskg
0
53
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
99
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
94
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
98
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
110
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
110
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
83
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
57
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
140
Other Decks in Programming
See All in Programming
Повторное использование кода в ML: почему ML-пайплайны могут помочь?
lamodatech
0
400
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
110
Scan with Decoupled Look-back and Onesweep Radix Sort
shocker_0x15
0
150
Competitionsだけじゃない! Kaggle Notebooks Grandmasterのすすめ
corochann
2
940
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
1.2k
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
0
310
offers_20241022_imakiire.pdf
imakurusu
1
130
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
920
Workflow automationによるインシデント原因調査の自動化
showwin
1
110
ACES Meet におけるリリース作業改善の取り組み
fukucheee
0
150
20241004 モノタロウ式~ドメインモデリングとリアーキテクチャ
monotaro
PRO
2
680
How to debug Xdebug... or any other weird bug in PHP
dunglas
2
1.5k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
77
6k
Thoughts on Productivity
jonyablonski
67
4.3k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Writing Fast Ruby
sferik
626
60k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
260
How to Think Like a Performance Engineer
csswizardry
18
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
4 Signs Your Business is Dying
shpigford
180
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Transcript
Intro to tvOS have they finally cracked it? @iPavleas
What is it? Apps on TV Derived from iOS New
frameworks TVML, TVJS Storage limitations New UX (Indirect input)
Frameworks Accelerate AudioToolbox AudioUnit AVFoundation AVKit CFNetwork CloudKit CoreBluetooth CoreData
CoreFoundation CoreGraphics CoreImage CoreLocation CoreMedia CoreSpotlight CoreText CoreVideo Darwin Foundation GameController GameKit GameplayKit GLKi ImageIO MachO MapKit MediaAccessibility MediaPlayer MediaToolbox Metal MetalKit MetalPerformanceShaders MobileCoreServices ModelIO OpenGLES SceneKit Security simd SpriteKit StoreKit Swift Standard Library SystemConfiguration UIKit
No Photos No AddressBook No Contacts No MessageUI No ReplayKit
No HomeKit
No WebKit
TVML XML, HTML like Templates (formTemplate, menuBarTemplate) Elements (title, img,
button)
None
None
None
TVJS JavaScript Standard DOM classes + EventListenerObject, Keyboard, NavigationDocument etc
Can exist on a server Can bridge native code with JavaScript Core
None
TVML vs Native Slower Less customisable Updates without app review
Stock apps look like TVML
NSUserDefaults (limited to 500KB) iCloud Key Value Storage (1MB per
user, 1024 keys) CloudKit Own server Limited Persistent (local) Storage
tvOS app bundle < 200MB
New UX - Siri Remote “creates a unique, intimate connection
with onscreen content” Focus Parallax images Gestures
Focus Engine UIFocusEnvironment protocol UIView, UIViewController, UIWindow, UIPresentationController prefferedFocusView
None
Focus Engine Swipe to move focus: left, right, up, down
Internal picture of app’s UI should/ didUpdateFocusInContext setNeedsFocusUpdate
Focus Engine UIFocusGuide bottomAnchor, leftAnchor etc
Gestures UITapGestureRecognizer: numberOfTaps, allowedPressTypes UILongPressGestureRecognizer: UISwipeGestureRecognizer: UIPanGestureRecognizer:
No MultiTouch
None
Existing Projects Standalone binary Universal purchase Share code with existing
iOS apps Add new target New storyboards (1920x1080, scale 1x) TestFlight
Thank you!