l ๐Ÿค– ์ฝ”๋“œ l

์›น์‚ฌ์ดํŠธ ๋งํฌ -> ์•ฑ์œผ๋กœ ๋งŒ๋“ค๊ธฐ (์›น์•ฑ๋งŒ๋“ค๊ธฐ/EXPO์›น๋ทฐ) ๊ฐ„๋‹จ๋ฒ„์ „

์ฝ”๋“œ๊ทธ๋ฆผ 2023. 9. 6.
๋ฐ˜์‘ํ˜•

 

์•ˆ๋…•ํ•˜์„ธ์š”~ ์ฝ”๋“œ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค!

์˜ค๋Š˜์€ ์›น์‚ฌ์ดํŠธ ๋งํฌ ํ•˜๋‚˜๋กœ ์•ฑ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋ฐ”๋กœ ์‹คํ–‰ํ•ด ๋ณผ๊ฒŒ์š”!

 

โ€ป์ค€๋น„์‚ฌํ•ญ: C๋“œ๋ผ์ด๋ธŒ์— ๋ฐ”๋กœ ์ƒˆํด๋”๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.(ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ๊ฐ€ ๋  ํด๋”์ž…๋‹ˆ๋‹ค.)

 

 

1.Expo CLI์„ค์น˜

๋จผ์ € ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”.

npm install -g expo-cli

 

 

 

2.Expo ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”. 

expo init my-project

(my-project๋Š” ๋‚ด ํ”„๋กœ์ ํŠธ ์˜๋ฌธ์œผ๋กœ ์ž…๋ ฅ)

 

 

 

3.ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋กœ ์ด๋™

cd my-project๋กœ ๊ฒฝ๋กœ๋ฅผ ์ด๋™ํ•ด์ฃผ์„ธ์š”.

cd my-project

 

 

 

4.์›น๋ทฐ์„ค์น˜

npx expo install react-native-webview

 

 

 

5.App.jsํŒŒ์ผ ์ˆ˜์ •

ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ์— ์›น๋ทฐ๊นŒ์ง€ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ App.jsํŒŒ์ผ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ด ์ค๋‹ˆ๋‹ค.

import * as React from 'react';
import { WebView } from 'react-native-webview';


export default function App() {
  return (
    <WebView
      style={styles.container}
      source={{ uri: 'https://expo.dev' }}
    />
  );
}
 source={{ uri: 'https://๋‚ด์‚ฌ์ดํŠธ.com' }} -> ๋‚ด ์›น์‚ฌ์ดํŠธ ๋งํฌ๋กœ ์ˆ˜์ •

 

 

 

6.expo์‹คํ–‰์œผ๋กœ ์•ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

์œˆ๋„์šฐ์™€ ๋งฅOS๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋‹ค๋ฅด๋‹ˆ ์ฃผ์˜ํ•ด ์ฃผ์„ธ์š”!

 

๋งฅOS

npm run start

์œˆ๋„์šฐ

npx expo start --tunnel

 

์œˆ๋„์šฐ์—์„œ npm run start๋กœ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ํŒŒ๋ž€์ฐฝ๊ณผ ํ•จ๊ป˜ something went wrong ํ˜น์€ ๋ฌดํ•œ๋กœ๋”ฉ ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ•  ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค.

 

์œ„์™€๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์•ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ์•ฑ ์ฝ”๋“œ์ˆ˜์ • ๋ฐ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

7.expo๊ณ„์ •์— ๋กœ๊ทธ์ธํ•˜์„ธ์š”

C:\expoWebApp>eas login (ํ„ฐ๋ฏธ๋„ ํ”„๋กœ์ ํŠธ ์œ„์น˜์—์„œ eas login๋ช…๋ น์–ด ์ž…๋ ฅ)
Log in to EAS with email or username (exit and run eas login for other options)
√ Email or username ...expo๊ณ„์ • ์ด๋ฉ”์ผ ์ž…๋ ฅ
√ Password ... ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ
Logged in

 

 

 

 

 

8.์•ฑ ๋นŒ๋“œ ์‹คํ–‰(ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด)

 

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋นŒ๋“œ

eas build --platform android

 

ios์•ฑ ๋นŒ๋“œ

eas build --platform ios

 

 

์œˆ๋„์šฐ,์•ˆ๋“œ๋กœ์ด๋“œ ๋™์‹œ ๋นŒ๋“œ

eas build --platform all

 

 

 

 

 

๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ํ•œ์ฐธ์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋นŒ๋“œํ์—์„œ ๊ธฐ๋‹ค๋ฆผ์ด ์‹œ์ž‘๋๋‹ค๋Š” ๋‚ด์šฉ์ด ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

expo์•ฑ๋นŒ๋“œ โ“’์ฝ”๋“œ๊ทธ๋ฆผ

 

 

 

(์ €๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‹จ์ผํŽ˜์ด์ง€ ์›น ๋งํฌ๋งŒ ๋ณ€๊ฒฝํ•œ ์›น๋ทฐ ์•ฑ์ธ๋ฐ 30๋ถ„์ด ๋„˜๊ฒŒ๊ฑธ๋ฆฌ๊ธธ๋ž˜ ๋ฌด๋ฃŒ๋ฒ„์ „์ด๋ผ ํ•œ์ฐธ์„ ๊ธฐ๋‹ค๋ฆฌ๋‚˜ ์‹ถ๊ธฐ๋„ ํ–ˆ์–ด์š”.....์œ ๋ฃŒ๋ฒ„์ „ ์“ฐ์‹œ๋Š” ๋ถ„๋“ค์€ ์–ด๋– ์‹ ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค ใ…Žใ…Ž;)

 

 

 

expo๋ฌด๋ฃŒ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ํ•œ ๋‹ฌ์— 30๋ฒˆ๊นŒ์ง€ ๋นŒ๋“œ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜‘๊ฐ™์€ ์•ฑ์ด์–ด๋„ ๋นŒ๋“œ๋ฅผ ํ•œ๋ฒˆ ์‹œ์ž‘ํ–ˆ์œผ๋ฉด ๋นŒ๋“œ๋ฅผ ๋‹ค ํ•˜์ง€ ์•Š๊ณ  ์ค‘๋‹จํ–ˆ๋”๋ผ๋„ ๋‹ค ์นด์šดํŒ…์ด ๋˜๋Š” ์  ์œ ์˜ํ•˜์„ธ์š”.

 

 

 

 

 

 

9.์•ฑํŒŒ์ผ ๋‹ค์šด

๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ๋‚˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์•ˆ๋‚ด๋ฐ›์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ๋นŒ๋“œํ–ˆ๊ธฐ๋•Œ๋ฌธ์— aabํŒŒ์ผ์„ ๋ฐ›์•˜์–ด์š”.

expo์•ฑ๋นŒ๋“œ โ“’์ฝ”๋“œ๊ทธ๋ฆผ

 

 

 

๋~~

 

 

 

 

์ด๋ ‡๊ฒŒ ์›น์„ ์•ฑ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค!

๊ตฌ๊ธ€ํ”Œ๋ ˆ์ด, ์• ํ”Œ์•ฑ์Šคํ† ์–ด ๊ฐœ๋ฐœ์ž ๋ฉค๋ฒ„์‹ญ ๊ฐ€์ž…ํ•˜์‹œ๊ณ  ์Šคํ† ์–ด์— ๋ฐฐํฌ๊นŒ์ง€ ์™„๋ฃŒํ•ด ๋ณด์„ธ์š” ใ…Žใ…Ž

์ €๋„ ํ•ด๋ณด๊ณ  ๋˜ ๊ณต์œ  ๊ธ€ ๋‚จ๊ธฐ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•˜์‹œ๊ณ  ์ฆ์ฝ”๋”ฉ ํ•˜์„ธ์š”~!

์ฝ”๋“œ๊ทธ๋ฆผ์ด์—ˆ์Šต๋‹ˆ๋‹ค! 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

๐Ÿ’ฒ ์ถ”์ฒœ ๊ธ€