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
53
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
48
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
83
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
78
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
76
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
97
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
95
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
78
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
57
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
130
Other Decks in Programming
See All in Programming
Fragment Composition of GraphQL
quramy
4
750
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
PHPはいつから死んでいるかの調査
chiroruxx
1
390
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
見た目から始める生産性向上
ikumatadokoro
7
830
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
530
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
120
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
290
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Visualization
eitanlees
136
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
The Cult of Friendly URLs
andyhume
74
5.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
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!