Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Porting iOS apps to tvOS

76 views

Published on

Porting iOS apps to tvOS - Code Europe 2017 Warsaw

Published in: Software
  • Be the first to comment

  • Be the first to like this

Porting iOS apps to tvOS

  1. 1. PORTING iOS APPS TO tvOS Sally Shepard - @mostgood
  2. 2. PORTING iOS APPS TO tvOS Sally Shepard - @mostgood
  3. 3. -iOS DEMO APP -APPLE TV & tvOS -FEATURE & DESIGN CHANGES -ADDING tvOS SUPPORT
  4. 4. iOS DEMO APP
  5. 5. RSSLinguaSaurus
  6. 6. **DEMO**
  7. 7. RSSLinguaSaurus RSS Feed Article Article Article Article
  8. 8. NSLinguisticTagger Translation Text Attributes RSS Feed Article Article Article Article RSSLinguaSaurus
  9. 9. Apple TV & tvOS
  10. 10. TECH SPECS • 64-bit A8 processor • 2 GB of RAM • 10/100 Mbps Ethernet • WiFi 802.11a/b/g/n/ac • Bluetooth 4.1 • 1080p resolution • HDMI • 32 GB or 64 GB of storage
  11. 11. BASICS OF INTERACTION
  12. 12. REMOTE CONTROL
  13. 13. REMOTE APP
  14. 14. THIRD PARTY CONTROLLERS
  15. 15. SIMULATOR
  16. 16. tvOS
  17. 17. iOS -> tvOS
  18. 18. SpriteKit UIKit SceneKit Metal OpenGLES
  19. 19. Accelerate AdSupport AudioToolbox AudioUnit AVFoundation AVKit CFNetwork CloudKit CoreAudio CoreBluetooth CoreData CoreFoundation CoreGraphics CoreImage CoreLocation CoreMedia CoreSpotlight CoreText CoreVideo ExternalAccessory Foundation GameController GameKit GameplayKit GLKit HomeKit ImageIO JavaScriptCore MachO MapKit MediaAccessibility MediaPlayer MediaToolbox Metal MetalKit MetalPerformanceShaders MobileCoreServices ModelIO MultipeerConnectivity OpenAL OpenGLES Photos QuartzCore ReplayKit SceneKit Security SpriteKit StoreKit Swift Standard Library SystemConfiguration TVMLKit TVServices UIKit UserNotifications VideoToolbox WebKit
  20. 20. 📶 🔌
  21. 21. FOCUS ENGINE
  22. 22. FOCUS ENGINE - canBecomeFocused ➤ UIButton ➤ UIControl ➤ UISegmentedControl ➤ UITabBar ➤ UITextField ➤ UISearchBar ➤ UICollectionView - canFocusItemAtIndexPath: ➤ UITableView - canFocusRowAtIndexPath:
  23. 23. UIFocusEnvironment Protocol preferredFocusEnvironments An array of focus environments, ordered by priority, to which this environment prefers focus to be directed during a focus update. setNeedsFocusUpdate Called when a system focus update is requested , allows you to perform custom animations etc… updateFocusIfNeeded A less system-intensive call that allow you to perform custom tasks only if required. shouldUpdateFocusInContext: Allows you to specify a set of circumstances under which to allow focus to change or update. didUpdateFocusInContext:
 withAnimationCoordinator: Called after a focus update and provides a way to customise focus change animations by providing a custom transition coordinator.
  24. 24. STORAGE: ON DEVICE REMOTE APP BUNDLE UP TO 4 GB
  25. 25. iCLOUD SYNCING
  26. 26. ON-DEMAND RESOURCES https://developer.apple.com/library/tvos/documentation/FileManagement/ Conceptual/On_Demand_Resources_Guide
  27. 27. ON-DEMAND RESOURCES https://developer.apple.com/library/tvos/documentation/FileManagement/ Conceptual/On_Demand_Resources_Guide
  28. 28. PARALLAX IMAGES
  29. 29. PARALLAX IMAGES
  30. 30. TOP SHELF EXTENSION
  31. 31. TOP SHELF EXTENSION
  32. 32. UNIVERSAL PURCHASE 1 Purchase 1 bundle id - tld.domain.appname 📺 📱
  33. 33. FEATURE & DESIGN CHANGES
  34. 34.
  35. 35. PUBLIC DISTANCE VISION DEVICE REMOTE CONTROLLED
  36. 36. “I’M GOING TO WATCH TV”
  37. 37. INTERACTION NAVIGATION EXPERIENCE
  38. 38. TV IS A SHARED EXPERIENCE
  39. 39. Personal Shared TV Watch Phone/Tablet Portable/Desktop
  40. 40. Super Personal Stuff
  41. 41. DesktopMobile TV Direct Indirect
  42. 42. Very Close DISTANCE
  43. 43. Close Far away TVPhone/Tablet Portable/Desktop
  44. 44. THIS TEXT IS PROBABLY TOO SMALL TO READ
  45. 45. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. MORBI IN LACUS PORTTITOR, EUISMOD NISL ET, PELLENTESQUE MASSA. NULLAM BLANDIT MAGNA ID PHARETRA FINIBUS. MAECENAS IN URNA EST. DUIS PULVINAR MALESUADA TURPIS, ET IMPERDIET JUSTO LAOREET EUISMOD. PRAESENT VEL LIBERO VENENATIS, PORTTITOR NISI VEL, LACINIA URNA. ETIAM SOLLICITUDIN LACUS AC EST TINCIDUNT, QUIS ALIQUAM TURPIS PLACERAT. PROIN VESTIBULUM SEM ET RISUS FEUGIAT, ID VIVERRA JUSTO ULTRICES. IN HAC HABITASSE PLATEA DICTUMST. CRAS SED FEUGIAT JUSTO, EU PHARETRA ODIO. VESTIBULUM PORTA ALIQUAM NUNC, VITAE ULLAMCORPER LACUS LUCTUS SIT AMET. PRAESENT PORTTITOR LIGULA EU EST ALIQUET ELEIFEND. ALIQUAM ERAT VOLUTPAT. DONEC VITAE LECTUS NON RISUS LAOREET ELEIFEND. CRAS SED LACINIA EX, ID VIVERRA AUGUE.ALIQUAM LIGULA ERAT, VEHICULA UT PLACERAT UT, BLANDIT A ELIT. ALIQUAM VITAE QUAM CONDIMENTUM AUGUE DIGNISSIM TRISTIQUE. INTEGER CONGUE LIGULA NEC TRISTIQUE EFFICITUR. DONEC EU NISL NEC LIGULA DIGNISSIM BIBENDUM EU AT NISI. SUSPENDISSE ALIQUET DUI AT NISI CURSUS SCELERISQUE QUIS PULVINAR TORTOR. NUNC VEL METUS PELLENTESQUE, FERMENTUM SAPIEN VEL, MOLESTIE NISI. MAURIS EROS LIBERO, INTERDUM EGET TINCIDUNT NON, RUTRUM UT NISI. NUNC PHARETRA, ODIO EFFICITUR FAUCIBUS RUTRUM, EROS SAPIEN FINIBUS NISL, EU MALESUADA EX ORCI SIT AMET LIGULA. PHASELLUS VITAE FRINGILLA TURPIS, AT CONDIMENTUM ANTE. VESTIBULUM ANTE IPSUM PRIMIS IN FAUCIBUS ORCI LUCTUS ET ULTRICES POSUERE CUBILIA CURAE; DUIS LACUS EROS, FRINGILLA MAXIMUS JUSTO INTERDUM, LUCTUS ELEMENTUM ORCI. ETIAM RUTRUM ORCI AC VELIT BIBENDUM, NON SEMPER DOLOR VESTIBULUM. DONEC LUCTUS MOLLIS SAPIEN. ETIAM RUTRUM, ANTE EGET FACILISIS FERMENTUM, ENIM MASSA PORTA NIBH, ID TINCIDUNT RISUS DUI ID NISL. MAURIS QUIS MOLLIS DOLOR. NAM ELEMENTUM ET MI SED HENDRERIT. PELLENTESQUE SOLLICITUDIN TURPIS SED MATTIS SCELERISQUE. SED SCELERISQUE IMPERDIET NULLA NEC VOLUTPAT. IN IN PORTTITOR TELLUS.INTEGER ULTRICES ET MASSA SED LUCTUS. NULLA FACILISI. CRAS COMMODO ENIM ID SAPIEN RUTRUM ALIQUAM. DONEC PRETIUM, MI PORTTITOR FAUCIBUS VULPUTATE, ELIT ANTE CONGUE MASSA, IN LOBORTIS DOLOR NULLA QUIS LACUS. CLASS APTENT TACITI SOCIOSQU AD LITORA TORQUENT PER CONUBIA NOSTRA, PER INCEPTOS HIMENAEOS. NULLAM MOLESTIE FELIS ERAT, PELLENTESQUE PORTTITOR MAURIS FAUCIBUS UT. ORCI VARIUS NATOQUE PENATIBUS ET MAGNIS DIS PARTURIENT MONTES, NASCETUR RIDICULUS MUS. AENEAN HENDRERIT IPSUM NON LECTUS ACCUMSAN ORNARE. VIVAMUS TELLUS TURPIS, FRINGILLA NON VEHICULA PORTA, GRAVIDA AC MI. FUSCE ET MOLESTIE NISI. ALIQUAM SED LEO ID RISUS GRAVIDA MAXIMUS PORTTITOR VITAE AUGUE. MAECENAS AUCTOR EGESTAS URNA VITAE ULLAMCORPER. MORBI TINCIDUNT URNA AT JUSTO VARIUS, QUIS VOLUTPAT EROS DICTUM. UT VITAE RISUS DICTUM, VESTIBULUM MASSA CONDIMENTUM, MOLLIS SAPIEN. CRAS FEUGIAT ULLAMCORPER LIGULA, NON LACINIA JUSTO IACULIS VITAE. FUSCE A IACULIS ENIM. NUNC METUS MASSA, CONSECTETUR AC ENIM AC, POSUERE TINCIDUNT TORTOR. CURABITUR ULTRICIES NISI NUNC, NON IMPERDIET ERAT CONGUE VITAE. CURABITUR EGESTAS NEQUE QUIS ACCUMSAN SOLLICITUDIN. MORBI AT NUNC ID EX SEMPER FINIBUS. CURABITUR QUIS VESTIBULUM TELLUS. PRAESENT NON DIGNISSIM NULLA, VEL VOLUTPAT TURPIS. DUIS SIT AMET MOLESTIE LOREM, COMMODO TEMPOR EROS.SED TRISTIQUE DUI ULTRICIES, GRAVIDA EX SED, PLACERAT MI. MORBI ID IACULIS EROS, VEL CONSECTETUR LECTUS. PHASELLUS VOLUTPAT MAGNA VITAE QUAM TINCIDUNT TINCIDUNT. INTERDUM ET MALESUADA FAMES AC ANTE IPSUM PRIMIS IN FAUCIBUS. SED VOLUTPAT NULLA ID LECTUS CURSUS, ID MOLLIS TURPIS SAGITTIS. DONEC A PORTTITOR LIGULA. VIVAMUS VEL EX AUGUE. MORBI DIGNISSIM AT MAURIS SIT AMET FERMENTUM. PELLENTESQUE ELIT LIBERO, VIVERRA VITAE SEM NEC, FEUGIAT ORNARE DUI. VIVAMUS UT TINCIDUNT METUS. CURABITUR ANTE NUNC, PORTTITOR UT SEM AT, EFFICITUR CONDIMENTUM FELIS. DONEC NISI IPSUM, SODALES NEC RISUS ET, MALESUADA MAXIMUS NUNC. VESTIBULUM FEUGIAT JUSTO SIT AMET DUI GRAVIDA, UT MALESUADA LACUS DIGNISSIM. CURABITUR ET COMMODO LIBERO, A LOBORTIS ARCU. NULLA VEL EGESTAS QUAM, VEL SAGITTIS TURPIS. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. VIVAMUS FACILISIS ULTRICES SAPIEN, ET DICTUM NUNC TRISTIQUE ET. PRAESENT CONSECTETUR NIBH AT FELIS CONSECTETUR VULPUTATE. PHASELLUS CONSECTETUR VITAE TELLUS ET FAUCIBUS. QUISQUE NON INTERDUM TORTOR, IN SODALES IPSUM. UT JUSTO EST, TRISTIQUE POSUERE ARCU LACINIA, INTERDUM ORNARE LECTUS. DUIS VENENATIS ULTRICIES MAGNA, UT FAUCIBUS LOREM PORTTITOR ID. ETIAM VOLUTPAT, JUSTO NEC ULTRICIES VIVERRA, PURUS EST VENENATIS MAURIS, VEL RHONCUS LEO MAURIS AT NULLA. NUNC QUAM EST, ULTRICIES NEC NEQUE EGET, SOLLICITUDIN VEHICULA METUS.FUSCE BIBENDUM VENENATIS FEUGIAT. QUISQUE COMMODO NON TELLUS VITAE SEMPER. VIVAMUS SODALES, LACUS ID TRISTIQUE COMMODO, QUAM NISI CONDIMENTUM NISI, UT TINCIDUNT LEO MI ET EROS. MAURIS BLANDIT NISL CONSECTETUR, ELEMENTUM ODIO ID, MOLESTIE NISI. NUNC TEMPUS MATTIS MI, EU CONGUE PURUS. PRAESENT ET PORTTITOR ORCI, EGET FEUGIAT URNA. NULLAM NISI MASSA, TRISTIQUE NON LIBERO EGET, ELEIFEND VIVERRA ORCI. PRAESENT MALESUADA VEL LIGULA AT VENENATIS. DUIS ID PURUS SED MAURIS ELEIFEND CONDIMENTUM QUIS QUIS MAURIS. MORBI AT PORTA LIGULA. MAURIS SEMPER QUAM EU PLACERAT PHARETRA. PELLENTESQUE DICTUM FRINGILLA QUAM AT BIBENDUM. NULLAM EST NIBH, FACILISIS EGET IACULIS NON, VOLUTPAT VEL MASSA. PHASELLUS EGET MAGNA COMMODO ENIM ALIQUET MOLESTIE A VITAE PURUS. UT SIT AMET CONSECTETUR LEO. ALIQUAM ERAT VOLUTPAT. ETIAM EFFICITUR DIGNISSIM NUNC IN SOLLICITUDIN. VESTIBULUM ULLAMCORPER MAXIMUS NIBH, IN VEHICULA LOREM INTERDUM UT. CURABITUR NEC JUSTO SIT AMET MAURIS MAXIMUS LUCTUS VEL NON DIAM. DUIS NIBH DOLOR, PHARETRA UT LECTUS SED, FRINGILLA PULVINAR RISUS. PRAESENT CURSUS CONVALLIS MI IN MALESUADA. QUISQUE PORTA ULTRICES EROS CONSECTETUR PORTTITOR. SUSPENDISSE LAOREET TEMPUS TINCIDUNT.ETIAM VOLUTPAT IACULIS URNA A ULTRICES. MORBI EGET QUAM NON ARCU ULLAMCORPER SAGITTIS. NULLAM ALIQUET SCELERISQUE RISUS, A ALIQUAM EX LOBORTIS EU. NULLA CONSECTETUR SIT AMET ARCU QUIS EGESTAS. NUNC TELLUS METUS, SCELERISQUE EGET FELIS ID, DICTUM MAXIMUS ODIO. UT BIBENDUM ET MI AC SAGITTIS. QUISQUE SED VEHICULA SEM. DONEC TINCIDUNT ET ORCI AC DIGNISSIM.MAECENAS SOLLICITUDIN NEQUE DUI, IN LAOREET NULLA INTERDUM VEHICULA. NAM AC EUISMOD SAPIEN. PELLENTESQUE LAOREET MI UT ODIO AUCTOR TINCIDUNT. IN SUSCIPIT PELLENTESQUE CONGUE. DONEC UT PHARETRA ELIT. QUISQUE CONDIMENTUM ULTRICES BIBENDUM. CURABITUR PORTA IMPERDIET LIBERO NON SUSCIPIT. ETIAM PULVINAR MALESUADA DIGNISSIM. ETIAM FAUCIBUS FRINGILLA ANTE, VEL BLANDIT ELIT LACINIA IN. IN HAC HABITASSE PLATEA DICTUMST. PRAESENT DIGNISSIM VOLUTPAT LIBERO, AT ELEIFEND LECTUS VENENATIS VITAE. AENEAN DAPIBUS, AUGUE ET VEHICULA PORTA, TURPIS LOREM PLACERAT NIBH, EU FAUCIBUS AUGUE MAGNA AC NISL. ETIAM NON ELEIFEND TELLUS, NEC MALESUADA METUS. NAM ID ULTRICES VELIT, SIT AMET ACCUMSAN EST. UT NULLA EST, ACCUMSAN SED JUSTO AUCTOR, DICTUM TINCIDUNT SEM. DUIS LACINIA DUI IN ELIT ELEIFEND PELLENTESQUE. MORBI HENDRERIT, ERAT NON ULTRICES CONSECTETUR, NULLA TURPIS RHONCUS IPSUM, EGET ULLAMCORPER URNA FELIS ET TORTOR. SED PORTTITOR DIAM IN VELIT ULTRICES TEMPUS.N VESTIBULUM LUCTUS JUSTO, VEL TINCIDUNT ANTE VIVERRA FINIBUS. PRAESENT VESTIBULUM CONGUE QUAM A DIGNISSIM. DUIS AUGUE DOLOR, CONGUE EUISMOD FERMENTUM SED, ELEMENTUM ET ENIM. SED COMMODO RUTRUM ELIT, A FAUCIBUS AUGUE DIGNISSIM AC. MAURIS INTERDUM ELEIFEND LOBORTIS. NUNC ULLAMCORPER RUTRUM POSUERE. PHASELLUS AT DICTUM SEM, MATTIS ALIQUAM SAPIEN. CRAS UT COMMODO ANTE. MAECENAS SED MOLESTIE NISL. VIVAMUS IN LOBORTIS TURPIS. NULLAM RISUS NUNC, VIVERRA EGET ELIT SED, CONSEQUAT AUCTOR TURPIS. NUNC NISL LACUS, ULLAMCORPER NON LIBERO CONDIMENTUM, LUCTUS SEMPER NULLA. MAECENAS PORTTITOR CONVALLIS SAGITTIS. ALIQUAM EGET EX VITAE NUNC FINIBUS EFFICITUR IN NON ANTE. VIVAMUS UT AUGUE RISUS. CRAS POSUERE QUAM AT VELIT VEHICULA ULLAMCORPER. AENEAN PURUS TORTOR, BIBENDUM AC EX FRINGILLA, POSUERE MAXIMUS SEM. AENEAN NISI MAURIS, LUCTUS QUIS NIBH ID, BLANDIT FINIBUS TURPIS. UT AC SCELERISQUE LIGULA, A VIVERRA MAURIS. NUNC GRAVIDA TINCIDUNT EROS, EU PHARETRA RISUS DAPIBUS AC. DONEC LOBORTIS VEL DOLOR QUIS ALIQUET. INTEGER QUIS ODIO VEHICULA, VARIUS SAPIEN AT, RUTRUM DIAM. DONEC HENDRERIT LIGULA AUGUE, SIT AMET TEMPUS IPSUM CONSEQUAT ET. IN CONDIMENTUM, NIBH ID INTERDUM ULTRICES, NUNC ANTE LOBORTIS NEQUE, ID TEMPUS DUI VELIT EU ELIT. DONEC VEHICULA TEMPOR METUS, VITAE TRISTIQUE LEO MATTIS IN. PELLENTESQUE SAGITTIS SEM NEQUE, ID BLANDIT RISUS DIGNISSIM QUIS. MAURIS LACINIA, AUGUE EU FEUGIAT VENENATIS, EX TORTOR TEMPOR LIBERO, SIT AMET SCELERISQUE MAGNA TORTOR A SAPIEN. NAM VENENATIS ENIM A TEMPOR MOLESTIE. FUSCE VARIUS ARCU ULLAMCORPER VELIT EFFICITUR, AT COMMODO NIBH MATTIS. DONEC BLANDIT ORNARE NIBH, EGET CONSECTETUR EX VIVERRA QU
  46. 46. NAVIGATION
  47. 47. Web Mobile TV Complex Simple
  48. 48. LOADING… You can sign into your account in Settings
  49. 49. ENTERTAIN ME
  50. 50. OVERSCAN Screen size and safe zones
  51. 51. DESIGN FOR: SHARED INDIRECT DISTANCE
  52. 52. https://developer.apple.com/tvos/human-interface-guidelines
  53. 53. RSSLINGUASAURUS iOS -> tvOS
  54. 54. INTERACTION NAVIGATION EXPERIENCE
  55. 55. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. MORBI IN LACUS PORTTITOR, EUISMOD NISL ET, PELLENTESQUE MASSA. NULLAM BLANDIT MAGNA ID PHARETRA FINIBUS. MAECENAS IN URNA EST. DUIS PULVINAR MALESUADA TURPIS, ET IMPERDIET JUSTO LAOREET EUISMOD. PRAESENT VEL LIBERO VENENATIS, PORTTITOR NISI VEL, LACINIA URNA. ETIAM SOLLICITUDIN LACUS AC EST TINCIDUNT, QUIS ALIQUAM TURPIS PLACERAT. PROIN VESTIBULUM SEM ET RISUS FEUGIAT, ID VIVERRA JUSTO ULTRICES. IN HAC HABITASSE PLATEA DICTUMST. CRAS SED FEUGIAT JUSTO, EU PHARETRA ODIO. VESTIBULUM PORTA ALIQUAM NUNC, VITAE ULLAMCORPER LACUS LUCTUS SIT AMET. PRAESENT PORTTITOR LIGULA EU EST ALIQUET ELEIFEND. ALIQUAM ERAT VOLUTPAT. DONEC VITAE LECTUS NON RISUS LAOREET ELEIFEND. CRAS SED LACINIA EX, ID VIVERRA AUGUE.ALIQUAM LIGULA ERAT, VEHICULA UT PLACERAT UT, BLANDIT A ELIT. ALIQUAM VITAE QUAM CONDIMENTUM AUGUE DIGNISSIM TRISTIQUE. INTEGER CONGUE LIGULA NEC TRISTIQUE EFFICITUR. DONEC EU NISL NEC LIGULA DIGNISSIM BIBENDUM EU AT NISI. SUSPENDISSE ALIQUET DUI AT NISI CURSUS SCELERISQUE QUIS PULVINAR TORTOR. NUNC VEL METUS PELLENTESQUE, FERMENTUM SAPIEN VEL, MOLESTIE NISI. MAURIS EROS LIBERO, INTERDUM EGET TINCIDUNT NON, RUTRUM UT NISI. NUNC PHARETRA, ODIO EFFICITUR FAUCIBUS RUTRUM, EROS SAPIEN FINIBUS NISL, EU MALESUADA EX ORCI SIT AMET LIGULA. PHASELLUS VITAE FRINGILLA TURPIS, AT CONDIMENTUM ANTE. VESTIBULUM ANTE IPSUM PRIMIS IN FAUCIBUS ORCI LUCTUS ET ULTRICES POSUERE CUBILIA CURAE; DUIS LACUS EROS, FRINGILLA MAXIMUS JUSTO INTERDUM, LUCTUS ELEMENTUM ORCI. ETIAM RUTRUM ORCI AC VELIT BIBENDUM, NON SEMPER DOLOR VESTIBULUM. DONEC LUCTUS MOLLIS SAPIEN. ETIAM RUTRUM, ANTE EGET FACILISIS FERMENTUM, ENIM MASSA PORTA NIBH, ID TINCIDUNT RISUS DUI ID NISL. MAURIS QUIS MOLLIS DOLOR. NAM ELEMENTUM ET MI SED HENDRERIT. PELLENTESQUE SOLLICITUDIN TURPIS SED MATTIS SCELERISQUE. SED SCELERISQUE IMPERDIET NULLA NEC VOLUTPAT. IN IN PORTTITOR TELLUS.INTEGER ULTRICES ET MASSA SED LUCTUS. NULLA FACILISI. CRAS COMMODO ENIM ID SAPIEN RUTRUM ALIQUAM. DONEC PRETIUM, MI PORTTITOR FAUCIBUS VULPUTATE, ELIT ANTE CONGUE MASSA, IN LOBORTIS DOLOR NULLA QUIS LACUS. CLASS APTENT TACITI SOCIOSQU AD LITORA TORQUENT PER CONUBIA NOSTRA, PER INCEPTOS HIMENAEOS. NULLAM MOLESTIE FELIS ERAT, PELLENTESQUE PORTTITOR MAURIS FAUCIBUS UT. ORCI VARIUS NATOQUE PENATIBUS ET MAGNIS DIS PARTURIENT MONTES, NASCETUR RIDICULUS MUS. AENEAN HENDRERIT IPSUM NON LECTUS ACCUMSAN ORNARE. VIVAMUS TELLUS TURPIS, FRINGILLA NON VEHICULA PORTA, GRAVIDA AC MI. FUSCE ET MOLESTIE NISI. ALIQUAM SED LEO ID RISUS GRAVIDA MAXIMUS PORTTITOR VITAE AUGUE. MAECENAS AUCTOR EGESTAS URNA VITAE ULLAMCORPER. MORBI TINCIDUNT URNA AT JUSTO VARIUS, QUIS VOLUTPAT EROS DICTUM. UT VITAE RISUS DICTUM, VESTIBULUM MASSA CONDIMENTUM, MOLLIS SAPIEN. CRAS FEUGIAT ULLAMCORPER LIGULA, NON LACINIA JUSTO IACULIS VITAE. FUSCE A IACULIS ENIM. NUNC METUS MASSA, CONSECTETUR AC ENIM AC, POSUERE TINCIDUNT TORTOR. CURABITUR ULTRICIES NISI NUNC, NON IMPERDIET ERAT CONGUE VITAE. CURABITUR EGESTAS NEQUE QUIS ACCUMSAN SOLLICITUDIN. MORBI AT NUNC ID EX SEMPER FINIBUS. CURABITUR QUIS VESTIBULUM TELLUS. PRAESENT NON DIGNISSIM NULLA, VEL VOLUTPAT TURPIS. DUIS SIT AMET MOLESTIE LOREM, COMMODO TEMPOR EROS.SED TRISTIQUE DUI ULTRICIES, GRAVIDA EX SED, PLACERAT MI. MORBI ID IACULIS EROS, VEL CONSECTETUR LECTUS. PHASELLUS VOLUTPAT MAGNA VITAE QUAM TINCIDUNT TINCIDUNT. INTERDUM ET MALESUADA FAMES AC ANTE IPSUM PRIMIS IN FAUCIBUS. SED VOLUTPAT NULLA ID LECTUS CURSUS, ID MOLLIS TURPIS SAGITTIS. DONEC A PORTTITOR LIGULA. VIVAMUS VEL EX AUGUE. MORBI DIGNISSIM AT MAURIS SIT AMET FERMENTUM. PELLENTESQUE ELIT LIBERO, VIVERRA VITAE SEM NEC, FEUGIAT ORNARE DUI. VIVAMUS UT TINCIDUNT METUS. CURABITUR ANTE NUNC, PORTTITOR UT SEM AT, EFFICITUR CONDIMENTUM FELIS. DONEC NISI IPSUM, SODALES NEC RISUS ET, MALESUADA MAXIMUS NUNC. VESTIBULUM FEUGIAT JUSTO SIT AMET DUI GRAVIDA, UT MALESUADA LACUS DIGNISSIM. CURABITUR ET COMMODO LIBERO, A LOBORTIS ARCU. NULLA VEL EGESTAS QUAM, VEL SAGITTIS TURPIS. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. VIVAMUS FACILISIS ULTRICES SAPIEN, ET DICTUM NUNC TRISTIQUE ET. PRAESENT CONSECTETUR NIBH AT FELIS CONSECTETUR VULPUTATE. PHASELLUS CONSECTETUR VITAE TELLUS ET FAUCIBUS. QUISQUE NON INTERDUM TORTOR, IN SODALES IPSUM. UT JUSTO EST, TRISTIQUE POSUERE ARCU LACINIA, INTERDUM ORNARE LECTUS. DUIS VENENATIS ULTRICIES MAGNA, UT FAUCIBUS LOREM PORTTITOR ID. ETIAM VOLUTPAT, JUSTO NEC ULTRICIES VIVERRA, PURUS EST VENENATIS MAURIS, VEL RHONCUS LEO MAURIS AT NULLA. NUNC QUAM EST, ULTRICIES NEC NEQUE EGET, SOLLICITUDIN VEHICULA METUS.FUSCE BIBENDUM VENENATIS FEUGIAT. QUISQUE COMMODO NON TELLUS VITAE SEMPER. VIVAMUS SODALES, LACUS ID TRISTIQUE COMMODO, QUAM NISI CONDIMENTUM NISI, UT TINCIDUNT LEO MI ET EROS. MAURIS BLANDIT NISL CONSECTETUR, ELEMENTUM ODIO ID, MOLESTIE NISI. NUNC TEMPUS MATTIS MI, EU CONGUE PURUS. PRAESENT ET PORTTITOR ORCI, EGET FEUGIAT URNA. NULLAM NISI MASSA, TRISTIQUE NON LIBERO EGET, ELEIFEND VIVERRA ORCI. PRAESENT MALESUADA VEL LIGULA AT VENENATIS. DUIS ID PURUS SED MAURIS ELEIFEND CONDIMENTUM QUIS QUIS MAURIS. MORBI AT PORTA LIGULA. MAURIS SEMPER QUAM EU PLACERAT PHARETRA. PELLENTESQUE DICTUM FRINGILLA QUAM AT BIBENDUM. NULLAM EST NIBH, FACILISIS EGET IACULIS NON, VOLUTPAT VEL MASSA. PHASELLUS EGET MAGNA COMMODO ENIM ALIQUET MOLESTIE A VITAE PURUS. UT SIT AMET CONSECTETUR LEO. ALIQUAM ERAT VOLUTPAT. ETIAM EFFICITUR DIGNISSIM NUNC IN SOLLICITUDIN. VESTIBULUM ULLAMCORPER MAXIMUS NIBH, IN VEHICULA LOREM INTERDUM UT. CURABITUR NEC JUSTO SIT AMET MAURIS MAXIMUS LUCTUS VEL NON DIAM. DUIS NIBH DOLOR, PHARETRA UT LECTUS SED, FRINGILLA PULVINAR RISUS. PRAESENT CURSUS CONVALLIS MI IN MALESUADA. QUISQUE PORTA ULTRICES EROS CONSECTETUR PORTTITOR. SUSPENDISSE LAOREET TEMPUS TINCIDUNT.ETIAM VOLUTPAT IACULIS URNA A ULTRICES. MORBI EGET QUAM NON ARCU ULLAMCORPER SAGITTIS. NULLAM ALIQUET SCELERISQUE RISUS, A ALIQUAM EX LOBORTIS EU. NULLA CONSECTETUR SIT AMET ARCU QUIS EGESTAS. NUNC TELLUS METUS, SCELERISQUE EGET FELIS ID, DICTUM MAXIMUS ODIO. UT BIBENDUM ET MI AC SAGITTIS. QUISQUE SED VEHICULA SEM. DONEC TINCIDUNT ET ORCI AC DIGNISSIM.MAECENAS SOLLICITUDIN NEQUE DUI, IN LAOREET NULLA INTERDUM VEHICULA. NAM AC EUISMOD SAPIEN. PELLENTESQUE LAOREET MI UT ODIO AUCTOR TINCIDUNT. IN SUSCIPIT PELLENTESQUE CONGUE. DONEC UT PHARETRA ELIT. QUISQUE CONDIMENTUM ULTRICES BIBENDUM. CURABITUR PORTA IMPERDIET LIBERO NON SUSCIPIT. ETIAM PULVINAR MALESUADA DIGNISSIM. ETIAM FAUCIBUS FRINGILLA ANTE, VEL BLANDIT ELIT LACINIA IN. IN HAC HABITASSE PLATEA DICTUMST. PRAESENT DIGNISSIM VOLUTPAT LIBERO, AT ELEIFEND LECTUS VENENATIS VITAE. AENEAN DAPIBUS, AUGUE ET VEHICULA PORTA, TURPIS LOREM PLACERAT NIBH, EU FAUCIBUS AUGUE MAGNA AC NISL. ETIAM NON ELEIFEND TELLUS, NEC MALESUADA METUS. NAM ID ULTRICES VELIT, SIT AMET ACCUMSAN EST. UT NULLA EST, ACCUMSAN SED JUSTO AUCTOR, DICTUM TINCIDUNT SEM. DUIS LACINIA DUI IN ELIT ELEIFEND PELLENTESQUE. MORBI HENDRERIT, ERAT NON ULTRICES CONSECTETUR, NULLA TURPIS RHONCUS IPSUM, EGET ULLAMCORPER URNA FELIS ET TORTOR. SED PORTTITOR DIAM IN VELIT ULTRICES TEMPUS.N VESTIBULUM LUCTUS JUSTO, VEL TINCIDUNT ANTE VIVERRA FINIBUS. PRAESENT VESTIBULUM CONGUE QUAM A DIGNISSIM. DUIS AUGUE DOLOR, CONGUE EUISMOD FERMENTUM SED, ELEMENTUM ET ENIM. SED COMMODO RUTRUM ELIT, A FAUCIBUS AUGUE DIGNISSIM AC. MAURIS INTERDUM ELEIFEND LOBORTIS. NUNC ULLAMCORPER RUTRUM POSUERE. PHASELLUS AT DICTUM SEM, MATTIS ALIQUAM SAPIEN. CRAS UT COMMODO ANTE. MAECENAS SED MOLESTIE NISL. VIVAMUS IN LOBORTIS TURPIS. NULLAM RISUS NUNC, VIVERRA EGET ELIT SED, CONSEQUAT AUCTOR TURPIS. NUNC NISL LACUS, ULLAMCORPER NON LIBERO CONDIMENTUM, LUCTUS SEMPER NULLA. MAECENAS PORTTITOR CONVALLIS SAGITTIS. ALIQUAM EGET EX VITAE NUNC FINIBUS EFFICITUR IN NON ANTE. VIVAMUS UT AUGUE RISUS. CRAS POSUERE QUAM AT VELIT VEHICULA ULLAMCORPER. AENEAN PURUS TORTOR, BIBENDUM AC EX FRINGILLA, POSUERE MAXIMUS SEM. AENEAN NISI MAURIS, LUCTUS QUIS NIBH ID, BLANDIT FINIBUS TURPIS. UT AC SCELERISQUE LIGULA, A VIVERRA MAURIS. NUNC GRAVIDA TINCIDUNT EROS, EU PHARETRA RISUS DAPIBUS AC. DONEC LOBORTIS VEL DOLOR QUIS ALIQUET. INTEGER QUIS ODIO VEHICULA, VARIUS SAPIEN AT, RUTRUM DIAM. DONEC HENDRERIT LIGULA AUGUE, SIT AMET TEMPUS IPSUM CONSEQUAT ET. IN CONDIMENTUM, NIBH ID INTERDUM ULTRICES, NUNC ANTE LOBORTIS NEQUE, ID TEMPUS DUI VELIT EU ELIT. DONEC VEHICULA TEMPOR METUS, VITAE TRISTIQUE LEO MATTIS IN. PELLENTESQUE SAGITTIS SEM NEQUE, ID BLANDIT RISUS DIGNISSIM QUIS. MAURIS LACINIA, AUGUE EU FEUGIAT VENENATIS, EX TORTOR TEMPOR LIBERO, SIT AMET SCELERISQUE MAGNA TORTOR A SAPIEN. NAM VENENATIS ENIM A TEMPOR MOLESTIE. FUSCE VARIUS ARCU ULLAMCORPER VELIT EFFICITUR, AT COMMODO NIBH MATTIS. DONEC BLANDIT ORNARE NIBH, EGET CONSECTETUR EX VIVERRA QU
  56. 56. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. MORBI IN LACUS PORTTITOR, EUISMOD NISL ET, PELLENTESQUE MASSA. NULLAM BLANDIT MAGNA ID PHARETRA FINIBUS. MAECENAS IN URNA EST. DUIS PULVINAR MALESUADA TURPIS, ET IMPERDIET JUSTO LAOREET EUISMOD. PRAESENT VEL LIBERO VENENATIS, PORTTITOR NISI VEL, LACINIA URNA. ETIAM SOLLICITUDIN LACUS AC EST TINCIDUNT, QUIS ALIQUAM TURPIS PLACERAT. PROIN VESTIBULUM SEM ET RISUS FEUGIAT, ID VIVERRA JUSTO ULTRICES. IN HAC HABITASSE PLATEA DICTUMST. CRAS SED FEUGIAT JUSTO, EU PHARETRA ODIO. VESTIBULUM PORTA ALIQUAM NUNC, VITAE ULLAMCORPER LACUS LUCTUS SIT AMET. PRAESENT PORTTITOR LIGULA EU EST ALIQUET ELEIFEND. ALIQUAM ERAT VOLUTPAT. DONEC VITAE LECTUS NON RISUS LAOREET ELEIFEND. CRAS SED LACINIA EX, ID VIVERRA AUGUE.ALIQUAM LIGULA ERAT, VEHICULA UT PLACERAT UT, BLANDIT A ELIT. ALIQUAM VITAE QUAM CONDIMENTUM AUGUE DIGNISSIM TRISTIQUE. INTEGER CONGUE LIGULA NEC TRISTIQUE EFFICITUR. DONEC EU NISL NEC LIGULA DIGNISSIM BIBENDUM EU AT NISI. SUSPENDISSE ALIQUET DUI AT NISI CURSUS SCELERISQUE QUIS PULVINAR TORTOR. NUNC VEL METUS PELLENTESQUE, FERMENTUM SAPIEN VEL, MOLESTIE NISI. MAURIS EROS LIBERO, INTERDUM EGET TINCIDUNT NON, RUTRUM UT NISI. NUNC PHARETRA, ODIO EFFICITUR FAUCIBUS RUTRUM, EROS SAPIEN FINIBUS NISL, EU MALESUADA EX ORCI SIT AMET LIGULA. PHASELLUS VITAE FRINGILLA TURPIS, AT CONDIMENTUM ANTE. VESTIBULUM ANTE IPSUM PRIMIS IN FAUCIBUS ORCI LUCTUS ET ULTRICES POSUERE CUBILIA CURAE; DUIS LACUS EROS, FRINGILLA MAXIMUS JUSTO INTERDUM, LUCTUS ELEMENTUM ORCI. ETIAM RUTRUM ORCI AC VELIT BIBENDUM, NON SEMPER DOLOR VESTIBULUM. DONEC LUCTUS MOLLIS SAPIEN. ETIAM RUTRUM, ANTE EGET FACILISIS FERMENTUM, ENIM MASSA PORTA NIBH, ID TINCIDUNT RISUS DUI ID NISL. MAURIS QUIS MOLLIS DOLOR. NAM ELEMENTUM ET MI SED HENDRERIT. PELLENTESQUE SOLLICITUDIN TURPIS SED MATTIS SCELERISQUE. SED SCELERISQUE IMPERDIET NULLA NEC VOLUTPAT. IN IN PORTTITOR TELLUS.INTEGER ULTRICES ET MASSA SED LUCTUS. NULLA FACILISI. CRAS COMMODO ENIM ID SAPIEN RUTRUM ALIQUAM. DONEC PRETIUM, MI PORTTITOR FAUCIBUS VULPUTATE, ELIT ANTE CONGUE MASSA, IN LOBORTIS DOLOR NULLA QUIS LACUS. CLASS APTENT TACITI SOCIOSQU AD LITORA TORQUENT PER CONUBIA NOSTRA, PER INCEPTOS HIMENAEOS. NULLAM MOLESTIE FELIS ERAT, PELLENTESQUE PORTTITOR MAURIS FAUCIBUS UT. ORCI VARIUS NATOQUE PENATIBUS ET MAGNIS DIS PARTURIENT MONTES, NASCETUR RIDICULUS MUS. AENEAN HENDRERIT IPSUM NON LECTUS ACCUMSAN ORNARE. VIVAMUS TELLUS TURPIS, FRINGILLA NON VEHICULA PORTA, GRAVIDA AC MI. FUSCE ET MOLESTIE NISI. ALIQUAM SED LEO ID RISUS GRAVIDA MAXIMUS PORTTITOR VITAE AUGUE. MAECENAS AUCTOR EGESTAS URNA VITAE ULLAMCORPER. MORBI TINCIDUNT URNA AT JUSTO VARIUS, QUIS VOLUTPAT EROS DICTUM. UT VITAE RISUS DICTUM, VESTIBULUM MASSA CONDIMENTUM, MOLLIS SAPIEN. CRAS FEUGIAT ULLAMCORPER LIGULA, NON LACINIA JUSTO IACULIS VITAE. FUSCE A IACULIS ENIM. NUNC METUS MASSA, CONSECTETUR AC ENIM AC, POSUERE TINCIDUNT TORTOR. CURABITUR ULTRICIES NISI NUNC, NON IMPERDIET ERAT CONGUE VITAE. CURABITUR EGESTAS NEQUE QUIS ACCUMSAN SOLLICITUDIN. MORBI AT NUNC ID EX SEMPER FINIBUS. CURABITUR QUIS VESTIBULUM TELLUS. PRAESENT NON DIGNISSIM NULLA, VEL VOLUTPAT TURPIS. DUIS SIT AMET MOLESTIE LOREM, COMMODO TEMPOR EROS.SED TRISTIQUE DUI ULTRICIES, GRAVIDA EX SED, PLACERAT MI. MORBI ID IACULIS EROS, VEL CONSECTETUR LECTUS. PHASELLUS VOLUTPAT MAGNA VITAE QUAM TINCIDUNT TINCIDUNT. INTERDUM ET MALESUADA FAMES AC ANTE IPSUM PRIMIS IN FAUCIBUS. SED VOLUTPAT NULLA ID LECTUS CURSUS, ID MOLLIS TURPIS SAGITTIS. DONEC A PORTTITOR LIGULA. VIVAMUS VEL EX AUGUE. MORBI DIGNISSIM AT MAURIS SIT AMET FERMENTUM. PELLENTESQUE ELIT LIBERO, VIVERRA VITAE SEM NEC, FEUGIAT ORNARE DUI. VIVAMUS UT TINCIDUNT METUS. CURABITUR ANTE NUNC, PORTTITOR UT SEM AT, EFFICITUR CONDIMENTUM FELIS. DONEC NISI IPSUM, SODALES NEC RISUS ET, MALESUADA MAXIMUS NUNC. VESTIBULUM FEUGIAT JUSTO SIT AMET DUI GRAVIDA, UT MALESUADA LACUS DIGNISSIM. CURABITUR ET COMMODO LIBERO, A LOBORTIS ARCU. NULLA VEL EGESTAS QUAM, VEL SAGITTIS TURPIS. LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. VIVAMUS FACILISIS ULTRICES SAPIEN, ET DICTUM NUNC TRISTIQUE ET. PRAESENT CONSECTETUR NIBH AT FELIS CONSECTETUR VULPUTATE. PHASELLUS CONSECTETUR VITAE TELLUS ET FAUCIBUS. QUISQUE NON INTERDUM TORTOR, IN SODALES IPSUM. UT JUSTO EST, TRISTIQUE POSUERE ARCU LACINIA, INTERDUM If we only show one sentence at a time, the user will have a good experience.
  57. 57. 🕹
  58. 58. 🗣
  59. 59. iOS tvOS RSS Feed Settings
  60. 60. iOS
  61. 61. tvOS
  62. 62. SYNCING PROGRESS MULTIPLE USERS QUIZZES MULTIPLE RSS FEEDS
  63. 63. ADDING tvOS SUPPORT
  64. 64. SHARING AND REUSING
  65. 65. NEW TARGET
  66. 66. NEW TARGET
  67. 67. NEW TARGET
  68. 68. SHIP IT
  69. 69. UPDATE DEPENDENCIES target 'RSSLinguaSaurusTV' do # Pods for RSSLinguaSaurusTV source 'https://github.com/CocoaPods/Specs.git' platform :tvos, '10.0' use_frameworks! pod 'FeedKit', '~> 5.0' end pod update
  70. 70. #if os(tvOS) print("Code compiled only when building for tvOS.") #endif
  71. 71. BUILD ON HARDWARE
  72. 72. FOCUS DEBUGGING _whyIsThisViewNotFocusable
  73. 73. **DEMO**
  74. 74. HOW MUCH WAS REUSED?
  75. 75. HOW MUCH WAS REUSED?
  76. 76. tvOS SPECIFIC CODE & FILES
  77. 77. STORYBOARDS ❤
  78. 78. THINGS TO REMEMBER!
  79. 79. BE MORE MODULAR #if os(tvOS) … #else … #endif
  80. 80. BE MINDFUL OF YOUR DEPENDENCIES
  81. 81. IT’S A DIFFERENT PLATFORM, SO TREAT IT THAT WAY
  82. 82. MAKE GREAT TV
  83. 83. THANK YOU! Sally Shepard @mostgood

×