Ответ
Да, есть опыт создания приложений для Apple TV на tvOS.
Ключевые отличия и особенности tvOS разработки:
- Фокус-менеджмент: Самая важная концепция. Навигация осуществляется с помощью Siri Remote, и фокус должен визуально перемещаться между элементами интерфейса.
- Использование
UIFocusGuideдля программного направления фокуса. - Переопределение
didUpdateFocus(in:with:)для анимаций при фокусировке/расфокусировке.
- Использование
class FocusableButton: UIButton {
override func didUpdateFocus(in context: UIFocusUpdateContext,
with coordinator: UIFocusAnimationCoordinator) {
coordinator.addCoordinatedAnimations {
if self.isFocused {
// Анимация при получении фокуса: увеличение и тень
self.transform = CGAffineTransform(scaleX: 1.1, y: 1.1)
self.layer.shadowOpacity = 0.3
} else {
// Возврат к исходному состоянию при потере фокуса
self.transform = .identity
self.layer.shadowOpacity = 0.0
}
}
}
}
- User Interface: Интерфейсы должны быть простыми, с чёткими зонами нажатия и читаемыми с большого расстояния. Используется
UIKit(режеTVMLKitдля контент-ориентированных приложений). - Top Shelf: Разработка расширения
TopShelf, которое отображает рекомендованный контент на главном экране tvOS. - Хранение данных: Использование
UserDefaultsилиNSCacheдля лёгких данных. Для большего объёма — облачные решения (iCloud, собственный бэкенд). - App Review: Строгие требования к навигации, производительности и отсутствию ссылок на элементы управления, недоступные на TV (например, касание).
Итог: Разработка под tvOS требует особого внимания к навигации без касания, созданию TV-оптимизированных интерфейсов и адаптации под ограниченные, по сравнению с iOS, возможности платформы.