CocoaHeads SKG #5 - Introduction to tvOS

CocoaHeads SKG #5 - Introduction to tvOS

The awesome @ipavelas makes a sweet introduction to tvOS

5a3cfb263fe4968b76c4c0bde721f047?s=128

CocoaHeadsSKG

June 07, 2016
Tweet

Transcript

  1. Intro to tvOS have they finally cracked it? @iPavleas

  2. What is it? Apps on TV Derived from iOS New

    frameworks TVML, TVJS Storage limitations New UX (Indirect input)
  3. 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
  4. No Photos No AddressBook No Contacts No MessageUI No ReplayKit

    No HomeKit
  5. No WebKit

  6. TVML XML, HTML like Templates (formTemplate, menuBarTemplate) Elements (title, img,

    button)
  7. None
  8. None
  9. None
  10. TVJS JavaScript Standard DOM classes + EventListenerObject, Keyboard, NavigationDocument etc

    Can exist on a server Can bridge native code with JavaScript Core
  11. None
  12. TVML vs Native Slower Less customisable Updates without app review

    Stock apps look like TVML
  13. NSUserDefaults (limited to 500KB) iCloud Key Value Storage (1MB per

    user, 1024 keys) CloudKit Own server Limited Persistent (local) Storage
  14. tvOS app bundle < 200MB

  15. New UX - Siri Remote “creates a unique, intimate connection

    with onscreen content” Focus Parallax images Gestures
  16. Focus Engine UIFocusEnvironment protocol UIView, UIViewController, UIWindow, UIPresentationController prefferedFocusView

  17. None
  18. Focus Engine Swipe to move focus: left, right, up, down

    Internal picture of app’s UI should/ didUpdateFocusInContext setNeedsFocusUpdate
  19. Focus Engine UIFocusGuide bottomAnchor, leftAnchor etc

  20. Gestures UITapGestureRecognizer: numberOfTaps, allowedPressTypes UILongPressGestureRecognizer: UISwipeGestureRecognizer: UIPanGestureRecognizer:

  21. No MultiTouch

  22. None
  23. Existing Projects Standalone binary Universal purchase Share code with existing

    iOS apps Add new target New storyboards (1920x1080, scale 1x) TestFlight
  24. Thank you!