porting ios apps to tvos

75
PORTING iOS APPS TO tvOS Sally Shepard - @mostgood

Upload: sally-shepard

Post on 21-Jan-2018

101 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Porting iOS apps to tvOS

PORTING iOS APPS TO tvOS

Sally Shepard - @mostgood

Page 2: Porting iOS apps to tvOS

PORTING iOS APPS TO tvOS

Sally Shepard - @mostgood

Page 3: Porting iOS apps to tvOS

-iOS DEMO APP -APPLE TV & tvOS -FEATURE & DESIGN CHANGES -ADDING tvOS SUPPORT

Page 4: Porting iOS apps to tvOS

iOS DEMO APP

Page 5: Porting iOS apps to tvOS

LEARNING LANGUAGES

Page 6: Porting iOS apps to tvOS

RSSLinguaSaurus

Page 7: Porting iOS apps to tvOS

**DEMO**

Page 8: Porting iOS apps to tvOS

Apple TV & tvOS

Page 9: Porting iOS apps to tvOS

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

Page 10: Porting iOS apps to tvOS

BASICS OF INTERACTION

Page 11: Porting iOS apps to tvOS

REMOTE CONTROL

Page 12: Porting iOS apps to tvOS

REMOTE APP

Page 13: Porting iOS apps to tvOS

THIRD PARTY CONTROLLERS

Page 14: Porting iOS apps to tvOS

SIMULATOR

Page 15: Porting iOS apps to tvOS

tvOS

Page 16: Porting iOS apps to tvOS

iOS -> tvOS

Page 17: Porting iOS apps to tvOS

SpriteKit

UIKit

SceneKit

Metal

OpenGLES

Page 18: Porting iOS apps to tvOS

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

Page 19: Porting iOS apps to tvOS

📶 🔌

Page 20: Porting iOS apps to tvOS

FOCUS ENGINE

Page 21: Porting iOS apps to tvOS

FOCUS ENGINE - canBecomeFocused

➤ UIButton➤ UIControl➤ UISegmentedControl➤ UITabBar➤ UITextField➤ UISearchBar ➤ UICollectionView - canFocusItemAtIndexPath: ➤ UITableView - canFocusRowAtIndexPath:

Page 22: Porting iOS apps to tvOS

FOCUS ENGINE & UIKit

preferredFocusedViewControllers will return a child controller or subview; views will return a subview or self.

setNeedsFocusUpdateCalled when a system focus update is requested , allows you to perform custom animations etc…

updateFocusIfNeededA 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.

Page 23: Porting iOS apps to tvOS

STORAGE: ON DEVICE REMOTE

4 GB

Page 24: Porting iOS apps to tvOS

iCLOUD SYNCING

Page 26: Porting iOS apps to tvOS

PARALLAX IMAGES

Page 27: Porting iOS apps to tvOS

PARALLAX IMAGES

Page 28: Porting iOS apps to tvOS

TOP SHELF EXTENSION

Page 29: Porting iOS apps to tvOS

TOP SHELF EXTENSION

Page 30: Porting iOS apps to tvOS

UNIVERSAL PURCHASE

1 Purchase

1 bundle id - tld.domain.appname

📺 📱

Page 31: Porting iOS apps to tvOS

FEATURE & DESIGN CHANGES

Page 32: Porting iOS apps to tvOS

Page 33: Porting iOS apps to tvOS

PUBLIC DISTANCE VISION DEVICEREMOTE CONTROLLED

Page 34: Porting iOS apps to tvOS

“I’M GOING TO WATCH TV”

Page 35: Porting iOS apps to tvOS

INTERACTION NAVIGATION EXPERIENCE

Page 36: Porting iOS apps to tvOS

Personal Shared

TVWatch Phone/Tablet Portable/Desktop

Page 37: Porting iOS apps to tvOS

TV IS A SHARED EXPERIENCE

Page 38: Porting iOS apps to tvOS

Super

Personal

Stuff

Page 39: Porting iOS apps to tvOS

DesktopMobile TV

Direct Indirect

Page 40: Porting iOS apps to tvOS
Page 41: Porting iOS apps to tvOS

Very

Close

DISTANCE

Page 42: Porting iOS apps to tvOS

Close Far away

TVPhone/Tablet Portable/Desktop

Page 43: Porting iOS apps to tvOS

THIS TEXT IS PROBABLY TOO SMALL TO READ

Page 44: Porting iOS apps to tvOS

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

Page 45: Porting iOS apps to tvOS

NAVIGATION

Page 46: Porting iOS apps to tvOS

Web Mobile TV

Complex Simple

Page 47: Porting iOS apps to tvOS

LOADING…

You can sign into your account in Settings

Page 48: Porting iOS apps to tvOS

ENTERTAIN ME

Page 49: Porting iOS apps to tvOS

OVERSCAN

Screen size and safe zones

Page 50: Porting iOS apps to tvOS

https://developer.apple.com/tvos/human-interface-guidelines

Page 51: Porting iOS apps to tvOS

FROM iOS TO tvOS

Page 52: Porting iOS apps to tvOS

INTERACTION NAVIGATION EXPERIENCE

Page 53: Porting iOS apps to tvOS

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

Page 54: Porting iOS apps to tvOS

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.

Page 55: Porting iOS apps to tvOS

🕹

Page 56: Porting iOS apps to tvOS

🗣

Page 57: Porting iOS apps to tvOS

iOS tvOSRSS Feed Settings

Page 58: Porting iOS apps to tvOS

SYNCING PROGRESS MULTIPLE USERS

REVIEW QUIZZES

MULTIPLE RSS FEEDS

Page 59: Porting iOS apps to tvOS

ADDING tvOS SUPPORT

Page 60: Porting iOS apps to tvOS

NEW TARGET

Page 61: Porting iOS apps to tvOS

NEW TARGET

Page 62: Porting iOS apps to tvOS

NEW TARGET

Page 63: Porting iOS apps to tvOS
Page 64: Porting iOS apps to tvOS
Page 65: Porting iOS apps to tvOS

UPDATE DEPENDENCIEStarget '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

Page 66: Porting iOS apps to tvOS

#if os(tvOS) print("Code compiled only when building for tvOS.") #endif

Page 67: Porting iOS apps to tvOS

BUILD ON HARDWARE

Page 68: Porting iOS apps to tvOS

FOCUS DEBUGGING

_whyIsThisViewNotFocusable

Page 69: Porting iOS apps to tvOS

**DEMO**

Page 70: Porting iOS apps to tvOS

THINGS TO REMEMBER!

Page 71: Porting iOS apps to tvOS

BE MORE MODULAR

#if os(tvOS)…#else…#endif

Page 72: Porting iOS apps to tvOS

BE MINDFUL OF YOUR DEPENDENCIES

Page 73: Porting iOS apps to tvOS

IT’S A DIFFERENT PLATFORM, SO TREAT IT THAT WAY

Page 74: Porting iOS apps to tvOS

MAKE GREAT TV

Page 75: Porting iOS apps to tvOS

THANK YOU!Sally Shepard @mostgood