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
100
0
Share
CocoaHeads SKG #5 - Introduction to tvOS
The awesome @ipavelas makes a sweet introduction to tvOS
CocoaHeadsSKG
June 07, 2016
More Decks by CocoaHeadsSKG
See All by CocoaHeadsSKG
CocoaHeads SKG #10 - Migrating to Swift
cocoaheadsskg
0
110
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
140
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
140
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
150
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
160
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
170
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
130
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
100
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
190
Other Decks in Programming
See All in Programming
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
150
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.6k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
GoogleCloudとterraform完全に理解した
terisuke
1
200
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
510
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
0
180
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
780
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
0
100
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.7k
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
410
PHPer、Cloudflare に引っ越す
suguruooki
2
220
Featured
See All Featured
Believing is Seeing
oripsolob
1
130
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
250
The SEO Collaboration Effect
kristinabergwall1
1
450
The Cult of Friendly URLs
andyhume
79
6.9k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
170
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
For a Future-Friendly Web
brad_frost
183
10k
New Earth Scene 8
popppiees
3
2.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
310
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!