Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
CocoaHeads SKG #5 - Introduction to tvOS
CocoaHeadsSKG
June 07, 2016
Programming
0
49
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
38
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
61
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
61
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
52
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
82
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
67
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
70
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
48
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
120
Other Decks in Programming
See All in Programming
How to Fight Production Incidents?
asatarin
0
130
GCPでのバッチ処理パターンを考えてみる
satohjohn
1
200
Micro Frontends with Module Federation @MicroFrontend Summit 2023
manfredsteyer
PRO
0
410
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
yutorin
0
190
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
1
320
ECテックカンファレンス2023
kspace
1
160
tidy_rpart
bk_18
0
390
Zynq MP SoC で楽しむエッジコンピューティング ~RTLプログラミングのススメ~
ryuz88
0
170
10年以上続くプロダクトの フロントエンド刷新プロジェクトのふりかえり
yotahada3
2
290
【DevFest & ADS JP 22】チームで導入する
[email protected]
おいしい健康
kako351
0
210
Step Functions Distributed Map を使ってみた
codemountains
0
100
eBPF와 함께 이해하는 Cilium 네트워킹
hadaney
3
830
Featured
See All Featured
Navigating Team Friction
lara
176
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
A better future with KSS
kneath
230
16k
How to Ace a Technical Interview
jacobian
270
21k
Producing Creativity
orderedlist
PRO
335
37k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Build your cross-platform service in a week with App Engine
jlugia
221
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
7
560
Six Lessons from altMBA
skipperchong
15
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Music & Morning Musume
bryan
36
4.6k
YesSQL, Process and Tooling at Scale
rocio
159
12k
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!