26
in prac(ce Apple TV development

Apple TV development

Embed Size (px)

Citation preview

Page 1: Apple TV development

in prac(ce

Apple TV development

Page 2: Apple TV development

Agenda• The Living Room Experience

• Focus-Driven Interface

• Top Shelf

• On-Demand Resources

• Developer tools

Page 3: Apple TV development

The Living Room Experience

Page 4: Apple TV development
Page 5: Apple TV development

Remote Controllers

Page 6: Apple TV development

Focus-Driven Interface

Page 7: Apple TV development

Focus-Driven Interface

• Focus Model

Page 8: Apple TV development
Page 9: Apple TV development

Focus-Driven Interface

• Focus Model

• Focus Engine

Page 10: Apple TV development
Page 11: Apple TV development

Focus-Driven Interface

• Focus Model

• Focus Engine

• Focus API • UIFocusGuide

Page 12: Apple TV development

UIFocusGuide

Page 13: Apple TV development

Focus-Driven Interface

• Focus Model

• Focus Engine

• Focus API • UIFocusGuide

• UIFocusEnvironment protocol

Page 14: Apple TV development

Let’s debug a real example!

Page 15: Apple TV development
Page 16: Apple TV development

Why Is This View Not Focusable?• The view’s canBecomeFocused method returns NO.

• The view’s hidden property has a value of YES.

• The view’s alpha property has a value of 0.

• The view’s user interac(on is disabled.

• The view is obscured by another view on top of it.

Page 17: Apple TV development

Top Shelf

Page 18: Apple TV development
Page 19: Apple TV development

• Dynamic Content

• Inset Banners

• Sec(on Content Row

TVTopShelfProvider

• Sta(c Content

Page 20: Apple TV development

On-Demand Resources

Page 21: Apple TV development

On-Demand Resources• Limita(ons in applica(on size

• Limited NSUserDefaults storage

• Tag your resources!

• Special tags • Ini(al Install tag

• Prefetch tag

Page 22: Apple TV development

Development and Resources

Page 23: Apple TV development

Development• Xcode

• tvOS simulator + virtual Siri Remote

• not recommended 🙁

• CocoaPods

• Framework Oriented Programming by Pedro Piñera (NSBudapest June)

Page 25: Apple TV development

Thanks for your a]en(on!Ques(ons?

Gergo Nemeth

@reden87

iOS developer @ Supercharge

[email protected] // www.supercharge.io

Page 26: Apple TV development