Поддержка телевизионных устройств была реализована с целью заставить существующие приложения React Native работать на Apple TV и Android TV,при этом в JavaScript-коде приложений не требуется практически никаких изменений.
Build changes
- Собственный уровень : чтобы запустить проект React Native на Android TV, обязательно внесите следующие изменения в AndroidManifest.xml .
- Уровень JavaScript : в Platform.android.js добавлена поддержка Android TV . Вы можете проверить, работает ли код на Android TV, выполнив
var Platform = require(‘Platform’); var running_on_android_tv = Platform.isTV;
Code changes
- Доступ к сенсорным элементам управления . При работе на Android TV платформа Android автоматически применяет схему направленной навигации на основе относительного положения фокусируемых элементов в представлениях. В Touchable добавлен код для обнаружения изменений фокуса и использования существующих методов для правильного стиля компонентов и инициирования правильных действий при выборе представления с помощью пульта ДУ телевизора, поэтому TouchableWithoutFeedback , TouchableHighlight , TouchableOpacity и TouchableNativeFeedback будут работать должным образом. Особенно:
- onFocus будет выполнен, когда сенсорный вид попадет в фокус
- onBlur будет выполнен, когда сенсорный вид выйдет из фокуса
- onPress будет выполняться, когда сенсорный вид действительно выбран нажатием кнопки «выбрать» на пульте телевизора.
var TVEventHandler = require(‘TVEventHandler’); class Game2048 extends React.Component < _tvEventHandler: any; _enableTVEventHandler( ) < this._tvEventHandler = new TVEventHandler(); this._tvEventHandler.enable(this, function (cmp, evt) < if (evt evt.eventType === ‘right’) < cmp.setState(< board: cmp.state.board.move(2) >); > else if (evt evt.eventType === ‘up’) < cmp.setState(< board: cmp.state.board.move(1) >); > else if (evt evt.eventType === ‘left’) < cmp.setState(< board: cmp.state.board.move(0) >); > else if (evt evt.eventType === ‘down’) < cmp.setState(< board: cmp.state.board.move(3) >); > else if (evt evt.eventType === ‘playPause’) < cmp.restartGame(); > >); > _disableTVEventHandler( ) < if (this._tvEventHandler) < this._tvEventHandler.disable(); delete this._tvEventHandler; > > componentDidMount( ) < this._enableTVEventHandler(); > componentWillUnmount( ) < this._disableTVEventHandler(); > >
- Поддержка меню разработчика: в эмуляторе cmd-M вызовет меню разработчика, аналогичное Android. Чтобы вызвать его на реальном устройстве Android TV, нажмите кнопку меню или нажмите и удерживайте кнопку быстрой перемотки вперед на пульте дистанционного управления. (Пожалуйста, не трясите устройство Android TV, это не сработает :))
- Known issues:
- TextInput пока не работают (т.е. не могут получать фокус автоматически, см. этот комментарий ).
- Однако можно использовать ссылку для ручного запуска inputRef.current.focus() .
- Вы можете обернуть свой ввод внутри компонента TouchableWithoutFeedback и активировать фокус в событии onFocus этого touchable. Это позволяет открывать клавиатуру с помощью клавиш со стрелками.
- Клавиатура может сбрасывать свое состояние после каждого нажатия клавиш (это может происходить только в эмуляторе Android TV).
Устарело. Вместо этого используйте react-native-tvos . Подробности смотрите в блоге о выпуске 0.62 .
Why You Can’t Understand Native ENGLISH Speakers (movies/TV & real life)
Meet Brooklyn’s Voodou Queen: Edeline St. Armand
Build changes
- Собственный уровень : все проекты React Native Xcode теперь имеют цели сборки Apple TV, имена которых заканчиваются строкой «-tvOS».
- response-native init : новые проекты React Native, созданные с помощью react-native init будут иметь цель Apple TV, автоматически созданную в их проектах XCode.
- Уровень JavaScript : в Platform.ios.js добавлена поддержка Apple TV . Вы можете проверить, работает ли код на AppleTV, выполнив
var Platform = require(‘Platform’); var running_on_tv = Platform.isTV; // Если вы хотите быть более конкретным и обнаруживать только устройства, работающие под управлением tvOS // (но без устройств Android TV) вы можете использовать: var running_on_apple_tv = Platform.isTVOS;
Code changes
- Общая поддержка tvOS : все изменения в собственном коде Apple TV заключены в определение TARGET_OS_TV. К ним относятся изменения для подавления API-интерфейсов, которые не поддерживаются tvOS (например, веб-представления, ползунки, переключатели, строка состояния и т. Д.), А также изменения для поддержки ввода данных пользователем с пульта дистанционного управления телевизором или клавиатуры.
- Общая кодовая база : поскольку tvOS и iOS используют большую часть общего кода Objective-C и JavaScript, большая часть документации для iOS в равной степени применима к tvOS.
- Доступ к сенсорным элементам управления . При работе на Apple TV классом собственного представления является RCTTVView , который имеет дополнительные методы для использования механизма фокусировки tvOS. В Touchable добавлен код для обнаружения изменений фокуса и использования существующих методов для правильного стиля компонентов и инициирования правильных действий при выборе представления с помощью пульта ДУ телевизора, поэтому TouchableWithoutFeedback , TouchableHighlight и TouchableOpacity будут работать должным образом. Особенно:
- onFocus будет выполнен, когда сенсорный вид попадет в фокус
- onBlur будет выполнен, когда сенсорный вид выйдет из фокуса
- onPress будет выполняться, когда сенсорный вид действительно выбран нажатием кнопки «выбрать» на пульте телевизора.
var TVEventHandler = require(‘TVEventHandler’); class Game2048 extends React.Component < _tvEventHandler: any; _enableTVEventHandler( ) < this._tvEventHandler = new TVEventHandler(); this._tvEventHandler.enable(this, function (cmp, evt) < if (evt evt.eventType === ‘right’) < cmp.setState(< board: cmp.state.board.move(2) >); > else if (evt evt.eventType === ‘up’) < cmp.setState(< board: cmp.state.board.move(1) >); > else if (evt evt.eventType === ‘left’) < cmp.setState(< board: cmp.state.board.move(0) >); > else if (evt evt.eventType === ‘down’) < cmp.setState(< board: cmp.state.board.move(3) >); > else if (evt evt.eventType === ‘playPause’) < cmp.restartGame(); > >); > _disableTVEventHandler( ) < if (this._tvEventHandler) < this._tvEventHandler.disable(); delete this._tvEventHandler; > > componentDidMount( ) < this._enableTVEventHandler(); > componentWillUnmount( ) < this._disableTVEventHandler(); > >
- Поддержка меню разработчика: в симуляторе cmd-D вызовет меню разработчика, аналогичное iOS. Чтобы вызвать его на реальном устройстве Apple TV, нажмите и удерживайте кнопку воспроизведения/паузы на пульте дистанционного управления. (Пожалуйста, не трясите устройство Apple TV, это не сработает :))
- Дистанционная анимация телевизора : собственный код RCTTVView реализует рекомендованные Apple анимации параллакса, помогающие направлять взгляд при навигации пользователя по представлениям. Анимацию можно отключить или настроить с помощью новых дополнительных свойств вида.
- Навигация назад с помощью кнопки меню пульта ДУ телевизора : компонент BackHandler , изначально написанный для поддержки кнопки возврата Android, теперь также поддерживает навигацию назад на Apple TV с помощью кнопки меню на пульте ДУ телевизора.
- Поведение TabBarIOS : компонент TabBarIOS является оболочкой собственного TabBarIOS UITabBar , который работает по-другому на Apple TV. Чтобы избежать дрожащего повторного рендеринга панели вкладок в tvOS (см. этот выпуск ), выбранный элемент панели вкладок может быть установлен только из JavaScript при первоначальном рендеринге, и после этого он управляется пользователем через собственный код.
- Known issues:
- Прокрутка списка . Эту проблему можно обойти, задав для removeClippedSubviews значение false в ListView и подобных компонентах. Более подробное обсуждение этого вопроса см . в этом PR .
React Native 0.69
BackHandler
Backhandler API обнаруживает нажатия аппаратных кнопок для навигации, позволяет регистрировать действия системы прослушивателей событий, контролировать реакцию приложения.
Ускорение этапа сборки
Создание вашего приложения React Native может быть дорогостоящим и занять несколько минут времени разработчиков.
Источник: runebook.dev
Apple TV gains native VPN support with tvOS 17, unlocking new streaming possibilities
Apple has announced that its Apple TV will receive native VPN support in tvOS 17, a notable addition that was not highlighted in the WWDC 2023 keynote. This feature will offer users the ability to enjoy seamless streaming while traveling, as well as access content unavailable in their own countries. Consequently, Apple TV 4K users can finally unlock the full potential of their streaming experience with this move.
In the current tvOS 16, those wishing to use VPNs on their Apple TVs must first install a VPN on their routers, a process that some routers might not support. With the introduction of native VPN support, Apple TV can now compete evenly with rival devices like Google’s Chromecast and Amazon’s Fire TV, which have had VPN capabilities for some time.
Apple previously implemented native VPN support on its other popular devices, including the iPhone, iPad, and Mac. As a result, expanding this feature to Apple TV will bring added flexibility and increased privacy for users streaming content on their devices.
VPNs are advantageous not just for streaming purposes but also for bypassing restrictions on social media apps, such as TikTok. With the ability to select VPN servers outside users’ locations, they can access content even in regions where the app has been banned or is under threat of being banned.
In addition to native VPN support, tvOS 17 will introduce several other enhancements and updates. One such improvement is enhanced dialogue, which separates speech from background noise for clearer audio. Furthermore, the update will incorporate support for Dolby Vision 8.1, adding a richer visual experience for Apple TV viewers.
Apple Fitness+, the company’s fitness app, will also see updates in tvOS 17, including customizable workout and meditation plans that can be scheduled according to the user’s preferences and daily routine. New features encompass workout playlists and Audio Focus, allowing users to prioritize music volume or the voices of Apple’s trainers during workout sessions. Developers working on AppMaster no-code platform can efficiently integrate these updates into their applications for a smooth transition on end-users’ devices.
With the introduction of native VPN support and a host of new features in the upcoming tvOS 17, Apple continues to provide users with a sophisticated streaming experience and stay competitive in the evolving market of streaming devices.
Источник: appmaster.io
Native — Учить Английский язык 4+
Я редко оставляю отзывы, но это приложение просто крутое тут ты учишь не только слова, но и времена, что меня приятно удивило! Я бы попросила бы вас добавить туда ещё тренировку этих времён и при изучении слов давать антоним к этому слову и пример использования в предложении,если вы это добавите, то даже платную подписку будет не жалко. Пожалуйста не подведите мою просьбу)
А так приложение очень крутое
Ответ разработчика ,
Dear Nastya, we are so pleased you enjoy our app! Thanks for your feedback. We are going to add new grammar practice very soon. Have a wonderful summer! Cheers!
Alex8Nova , 15.04.2020
Wonderfull
Great app for learning English. I starter from the beginners and now my vocabulary includes more than 300 words! Like it
Источник: apps.apple.com