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
63
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
64
CocoaHeads SKG #10 - Rich Push Notifications on iOS10
cocoaheadsskg
0
110
CocoaHeads SKG #9 - Protocol Oriented Programming
cocoaheadsskg
0
110
CocoaHeads SKG #8 - Application Architecture
cocoaheadsskg
0
110
CocoaHeads SKG #4 - Getting Dirty With Realm.io
cocoaheadsskg
1
120
CocoaHeads SKG #3 - iOS link Handling
cocoaheadsskg
0
120
CocoaheadsSKG #3 - Towards Continuous Delivery with Fastlane
cocoaheadsskg
0
92
CocoaheadsSKG #2 - Supporting 3D Touch on iPhone
cocoaheadsskg
0
66
CocoaheadsSKG #2 - Introduction to RxSwift
cocoaheadsskg
0
150
Other Decks in Programming
See All in Programming
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
260
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
530
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
5k
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
110
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
320
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
3.5k
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
3
1.2k
『品質』という言葉が嫌いな理由
korimu
0
120
Spring gRPC について / About Spring gRPC
mackey0225
0
200
定理証明プラットフォーム lapisla.net
abap34
1
1.7k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
980
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
360
Featured
See All Featured
Done Done
chrislema
182
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Scaling GitHub
holman
459
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Building Your Own Lightsaber
phodgson
104
6.2k
Site-Speed That Sticks
csswizardry
3
320
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Writing Fast Ruby
sferik
628
61k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
11
920
Testing 201, or: Great Expectations
jmmastey
41
7.2k
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!