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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
CocoaHeadsSKG
June 07, 2016
Programming
0
97
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
99
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
150
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
91
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
190
Other Decks in Programming
See All in Programming
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.5k
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
220
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
15
3k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
830
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
550
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
250
CSC307 Lecture 13
javiergs
PRO
0
320
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
730
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
KATA
mclloyd
PRO
35
15k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Google's AI Overviews - The New Search
badams
0
930
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
69
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
Abbi's Birthday
coloredviolet
2
5.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Unsuck your backbone
ammeep
672
58k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
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!