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
92
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
95
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
150
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
160
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
130
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
87
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
180
Other Decks in Programming
See All in Programming
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
6
2.3k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
340
Implementation Patterns
denyspoltorak
0
150
チームをチームにするEM
hitode909
0
440
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
1k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
160
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
320
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
690
クラウドに依存しないS3を使った開発術
simesaba80
0
220
愛される翻訳の秘訣
kishikawakatsumi
3
370
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
75
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
BBQ
matthewcrist
89
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
[SF Ruby Conf 2025] Rails X
palkan
0
700
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Between Models and Reality
mayunak
1
160
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!