๋ํ!
์ค๋์.. react-native-splash-screen๊ณผ react-native-make ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์
react native ํ๋ก์ ํธ์ ์คํ๋์ฌ ์คํฌ๋ฆฐ์ ์ปจํธ๋กค ํด๋ณด๋ ค ํ๋ค.
์ด๋ฒ ์์ ์ ํฐ ๋จ๊ณ๋ ์ด๋ฌํ๋ค.
react-native-make ๋ฐ๋ก๊ฐ๊ธฐ
ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ง์ ๋์์ ๋ฐ๊ณ ์๋ ๊ฐ๋ฐ์ ์ผ์ฟ ์๋์ ๋ธ๋ก๊ทธ์์ ์๊ฒ ๋์๋ค.
์ผ์ฟ ์๋์ react-native-make๋ฅผ ์ฌ์ฉํ์ฌ App ์์ด์ฝ๊ณผ Splash ์ด๋ฏธ์ง๋ฅผ ์ถ์ถํ์ฌ ์ฌ์ฉํ์๋๋ฐ,
๋๋ app ์์ด์ฝ์ด ์ด๋ฏธ ์ธํ
๋์ด์๊ธฐ ๋๋ฌธ์, ์ง๊ธ ํ์ํ Splash ์ด๋ฏธ์ง๋ฅผ ์ถ์ถํ๋๋ฐ๋ง ์ฌ์ฉ๋, splash ๊ด๋ จ ์ค๋ช
๋ง ๋ฃ๊ฒ ๋ค. ๊ดํ ์ฝ๋๋ฅผ ์๋ถํฐ ์ฐจ๋ก๋๋ก ๋ฐ๋ผ ํ๋ค๊ฐ ๊ดํ ์ค๋ฅ๊ฐ ์๊ธธ ์ ์์ผ๋ ๋ง์ด๋ค.
yarn add -D @bam.tech/react-native-make
// or
npm i -D @bam.tech/react-native-make
iOS์์ Splash ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ Splash ์ด๋ฏธ์ง์ฉ Storyboard๊ฐ ํ์ํ๋ค. ๋ง๋ค์ด๋ณด์
ํ๋ก์ ํธ์์ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ณ์ xcode๋ฅผ ์ด์
xed ./ios
ํ๋ก์ ํธ ์ด๋ฆ์ ์ฐํด๋ฆญํด์ New File...์ ์ ํํ๋ค.
์๋์ ๊ฐ์ ํ๋ฉด์์, ์ค๋ฅธ์ชฝ ํ๋จ์ Launch Screen์ ์ ํํ๊ณ Next ๋ฒํผ์ ์ ํํ๋ค.
์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์ค๋ฉด, Save As์ SplashScreen์ ์
๋ ฅํ๊ณ ์ค๋ฅธ์ชฝ ํ๋จ์ Create ๋ฒํผ์ ๋๋ฌ Splash ์ด๋ฏธ์ง์ฉ Storyboard๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋ฌ๋ค!
์ง์!
์ง๊ธ๊น์ง Splash์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด iOS์ฉ storyboard๋ฅผ ์์ฑํ๊ณ ,
์ด์ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์ณ์ Splash์ด๋ฏธ์ง๋ฅผ ์์ฑํด๋ณธ๋ค.
Splash ์ด๋ฏธ์ง๋ฅผ ์ํด์ 3000*3000 ์ฌ์ด์ฆ์ png ํ์ผ์ด ํ์ํ๋ค.
react-native set-splash --path [path-to-image] --resize [contain|cover|center] --background ["background-color"]
// react-native set-splash --path ./src/img/splash.png --resize center --background "#FFFFFF"
์ฝ๋ ์ค๊ฐ์ center๋ก ๋์ด์๋ resize ์ต์
์ ๊ธฐ๋ณธ๊ฐ์ contain ์ด๋ค.
์ฌ๊ธฐ๋ฅผ ๊ฐ๋ณด๋ฉด ์์ธํ ์์๋ฅผ ๋ณผ ์ ์๋ค.
์์์ ์์ฑํ
react-native set-splash --path ./src/img/splash.png --resize center --background "#FFFFFF"
์ด ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋๋ฉด
์ด๋ ๊ฒ ์ฝ๋๊ฐ ๋ฐ๋์ด ์๋ค. ์๊ตฟ
์์ธํ ์ด๋ป๊ฒ ์คํ๋์์ด๋ฏธ์ง๊ฐ ๋์ฌ์ง ํ์ํด๋ณด์
ํด๋น ์์น์ ํ์ผ์ ํด๋ฆญํ๋
์ด๋ ๊ฒ ์ด๋ง์ด๋งํ๊ฒ ๋ณด์ด๋ ์คํ๋์ ํ๋ฉด์ ํ์ธ ํ ์ ์์๋ค.
์ฌ๊ธฐ์ ์ฑ์ run ์์ผ๋ณด๋ฉด ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋์ฌ ์ ์๋ค.
error: resource style/SplashScreen_SplashTheme.. ๋ธ๋ผ๋ธ๋ผ
๊ทธ๋ ๋ค๋ฉด ์๋ ์ฝ๋๋ก react-native-splash-screen ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด ๋ฐ์์ฃผ์. (์๋ฌ ์ฐธ๊ณ )
npm i react-native-splash-screen --save
react-native set-splash --path ./src/img/splash.png --resize contain --background "#FFFFFF"
src/img/splash.png ํ์ผ์ ํ ๋๋ก xcode์ ์ด๋ฐ์์ผ๋ก ์คํ๋์ฌ ์ด๋ฏธ์ง๊ฐ ๋์ด์ง๊ฒ ๋๋ค. ๋๋๊ฒ๋
xcode์์์ ์ฌ์ด์ฆ, ์์น์กฐ์ ์ด ์์ฃผ์์ฃผ ๊ฐ๋จํ๋ค ใ
ใ
ใ
์ ๋ง ๋๋ฌผ๋๊ฒ ๊ณ ๋ง๋ค...
๋ ์๋๋ค. ์ต๋ํ ๊ฑด๋ค์ฌ์ฃผ์ง ์๊ธฐ๋ก ํ์. ๊ธฐ๊ธฐ๋ง๋ค ๋ค๋ฅด๊ฒ ๋ณด์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ์ ๊ฒ ๊ฑด๋ค์ฌ๋ณด๋ฉด์ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ค์๊ฒ์ ์ด๋ป๊ฒ ๋ณด์ด์ง ํ
์คํธํด๋ณผ ๊ฒ!
์ฐธ๊ณ ๋ก ์ด๋ฐ ํ์ผ๋ค์ด ์ถ๊ฐ๊ฐ ๋์๋ค. ํ์ผ์ ์ด๋ค ๋ด์ฉ์ด ์ถ๊ฐ๋์๋์ง๋ ์ผ๋จ ์๋ต.
๊ทธ ๋ค์ ๋จ๊ณ react-native-splash-screen๋ก ๋์ด๊ฐ๋ณด์.
react-native-make ๋ชจ๋์ ์ด๋ฏธ์ง ๋ฝ๊ณ ์ ๊ฑฐํด๋ ๋ ๋ ค๋์?