Written by Paul
How to setup
https://github.com/react-native-tvos/react-native-template-typescript-tv ๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์
์คํฌ๋ฆฝํธ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
Expo๋ ์ฐ์ง ์๊ณ , React Native CLI ๋ฅผ ์ผ๊ธฐ ๋๋ฌธ์
$ npx react-native init MyApp --template react-native-template-typescript-tv
์ ๋ช
๋ น์ด๋ก ํ์
์คํฌ๋ฆฝํธ TV OS ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๋ฅผ ์์ฑ ํ ์ ์์ต๋๋ค.
react-native-tvos
package.json์ ๋ณด๋ฉด,
"react-native": "npm:react-native-tvos@^0.71.10-0"
์ ๊ฐ์ด react-native ํจํค์ง๊ฐ react-native-tvos ์ ํน์ ๋ฒ์ ์ผ๋ก ์๋ฆฌ ์กํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.ํด๋น ํจํค์ง๋ https://github.com/react-native-tvos/react-native-tvos ์์ ๊ด๋ฆฌ๋๋ react-native ๋ฅผ ๋ฐ๋ผ๊ฐ๋ tv os์ฉ ํจํค์ง๋ก ์์๋ฉ๋๋ค.
pod install
์ฐ๋ฆฌ๋ ์ ํ ํฐ๋น (Apple TV) ์ tvOS ๋ง ํ๊ฒํ
ํ ์์ ์ด๋ฏ๋ก,
pod install
๋ช
๋ น์ด๋ฅผ ์คํ ํด ์ค๋๋ค.$ cd MyApp $ bundle install # if you didn't do this cli, you have to. $ cd ios $ pod install
tv OS target
ย
tvOS ๋ฅผ ์คํ ์ํค๋ ค๋ฉด, ์ ์ฌ์ง๊ณผ ๊ฐ์ด -tvOS ํ๊ฒ์ ์ ํํ๊ณ ์คํ ์ํค๋ฉด ๋ฉ๋๋ค.
apple TV ์๋ฎฌ๋ ์ดํฐ๊ฐ ํ์ํ๋ฏ๋ก, ์๋ค๋ฉด ํด๋น ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ค์น ํด์ผ ํฉ๋๋ค.
react-native-video with tvOS
๊ณต์๋ฌธ์๋ฅผ ๋ฐ๋ผ์ tvos ์ค์ ์ ํด์ค์ผ ํ๋ค๊ณ ๋ ํ๋๋ฐ,
๋ฐ๋ก manual link๋ฅผ ๊ฑธ์ง ์์๋ ๋ฆด๋ฆฌ์ฆ ์คํค๋ง๊น์ง ์ ์คํ์ด ๋๊ธด ํฉ๋๋ค.
ํด๋น ๋ฒ์ ์ 5๋ฒ์ ๋ ์
๋๋ค.
DRM
DRM ์ง์์ ๊ฒฝ์ฐ pallycon ์๋น์ค๋ก ํจํค์ง์ ํ๋ค๋ฉด https://github.com/inka-pallycon/pallycon-multidrm-react-native-sample/blob/main/App.js ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋ฉ๋๋ค. Widevine๊ณผ Fairplay์ ๋ํ ์์ ๊ฐ ๋์์์ต๋๋ค.
react-native-reanimated with tvOS
์์กฐ๋กญ๊ฒ 3๋ฒ์ ๋์์ ์ ์๋ ํฉ๋๋ค.
์ถ๊ฐ ์์
ํ์ ์์ต๋๋ค.
react-native-gesture-handler with tvOS
"react-native-gesture-handler": "^2.10.1"
๋ฒ์ ์ ์จ์ผ ๋น๋๊ฐ ๋จ์ ํ์ธ ํ์ต๋๋ค.ย