Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
89
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
91
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
130
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
130
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
140
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
140
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
160
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
120
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
84
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
180
Other Decks in Programming
See All in Programming
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
990
20 years of Symfony, what's next?
fabpot
2
330
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
780
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
230
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
490
Developing static sites with Ruby
okuramasafumi
0
200
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
200
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
俺流レスポンシブコーディング 2025
tak_dcxi
13
8.3k
エディターってAIで操作できるんだぜ
kis9a
0
690
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
220
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Navigating Team Friction
lara
191
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
KATA
mclloyd
PRO
32
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
It's Worth the Effort
3n
187
29k
Designing for Performance
lara
610
69k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualization
eitanlees
150
16k
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!