๋ฐ˜์‘ํ˜•

nextjs,tailwindcss,vercel 73

expo react native ์•ฑ ๊ฐœ๋ฐœ ๋ช…๋ น์–ด ์ด์ •๋ฆฌ

์•ฑ ๋งŒ๋“ค๋ฉด์„œ ํ•„์š”ํ•œ expo ๊ด€๋ จ ๋ช…๋ น์–ด ์ด์ •๋ฆฌ 1. expo GO ์—์„œ ์‹คํ–‰npx expo start -ca - androidw - web localhost:8081์—์„œ ์‹คํ–‰๋จ 2. ์• ๋“œ๋ชน ๊ด‘๊ณ  ๋ถ™์ด๊ณ  ์‹คํ–‰ (์• ๋“œ๋ชน์€ expo go ํ˜ธํ™˜ ์•ˆ๋จ)๊ด‘๊ณ ๋ถ™์ด๊ธฐnpx install react-native-google-mobile-adshttps://getacherryontop.tistory.com/m/422๊ด‘๊ณ  ๋ถ™์ด๊ณ  ๋นŒ๋“œnpx expo prebuild --platform androidnpx expo run:android// if you have iOSnpx expo run:ios Using development build ์ธ์ง€ ํ™•์ธ, EXpo Go๋Š” ์•ˆ๋จ  ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œnpx expo prebuild --cl..

expo go ์˜ค๋ฅ˜ There was a problem loading the requested app

There was a problem loading the requested app ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธ๊ณต๊ณต์™€์ดํŒŒ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๊ฐ„ํ˜น ๋ฐœ์ƒ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ์ธ 127.0.0.1์„ ์‚ฌ์šฉํ•˜์—ฌ Expo ์•ฑ์ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. 127.0.0.1์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋กœ์ปฌ ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ์ธ๋ฐ์š”, ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์—์„œ ์ด ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋ฉด, ๋””๋ฐ”์ด์Šค๋Š” ์ž์ฒด์ ์œผ๋กœ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋˜์–ด ์‹ค์ œ ๊ฐœ๋ฐœ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:์ปดํ“จํ„ฐ์™€ ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค๊ฐ€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.์ปดํ“จํ„ฐ์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. (Windows์˜ ๊ฒฝ์šฐ cmd์—์„œ ipconfig๋ฅผ, macOS ๋˜๋Š” Linux์—์„œ๋Š” ํ„ฐ๋ฏธ๋„์— ifconf..

expo router ํ”„๋กœ์ ํŠธ ์ปค์Šคํ…€ ํฐํŠธ ์ ์šฉํ•˜๊ธฐ

1. ํฐํŠธ ํŒŒ์ผ .ttf ๋ฅผ ํ”„๋กœ์ ํŠธ assets/fonts/์— ์ €์žฅํ•œ๋‹ค. 2. ๋‹ค์Œ ์„ ์„ค์น˜ํ•œ๋‹ค. npx expo install expo-font 3. app.json์— ๋‹ค์Œ์„ ์ถ”๊ฐ€[  "expo-font",  { useEffect(() => {    const loadFonts = async () => {      await Font.loadAsync({        'pixel': require('@/assets/fonts/pixel.ttf'),      });      setFontsLoaded(true);    };    loadFonts();  }, []);    "fonts": ["./assets/fonts/pixel.ttf"]  }] ์‚ฌ์šฉ ์‹œ   ์ฐธ๊ณ https://docs.expo.dev/..

์•ˆ๋“œ๋กœ์ด๋“œ ๋น„๊ณต๊ฐœ ํ…Œ์Šคํ„ฐ ๋ชจ์œผ๋Š” ๋ฒ• 20๋ช…

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์ถœ์‹œ๋ฅผ ์•ž๋‘๊ณ  ๋น„๊ณต๊ฐœ ํ…Œ์Šคํ„ฐ 20๋ช…์„ ๋ชจ์•„์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ฒผ๋‹ค์‚ฌ์‹ค ์‹ค์ œ ์•ˆ๋“œ๋กœ์ด๋“œ ์œ ์ € 20๋ช…์„ ๋ชจ์œผ๋Š” ๊ฑด ์‰ฝ์ง€ ์•Š๋‹ค, ์ฃผ๋ณ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜ ํ…Œ์Šคํ„ฐ ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค 1. ๊ฐœ์ธ ๋„คํŠธ์›Œํฌ ํ™œ์šฉ์นœ๊ตฌ์™€ ๊ฐ€์กฑ, ๋™๋ฃŒ 2. ์†Œ์…œ ๋ฏธ๋””์–ด ํ™œ์šฉ์นด์นด์˜คํ†ก ๊ทธ๋ฃน / ๋„ค์ด๋ฒ„ ์นดํŽ˜- ํ’ˆ์•—์ด ๋ฐฉ https://open.kakao.com/o/gcrp8BXf ์•ˆ๋“œ๋กœ์ด๋“œ ํ”Œ๋ ˆ์ด์Šคํ† ์–ด ๋น„๊ณต๊ฐœ ํ…Œ์ŠคํŠธ ํ’ˆ์•—์ด#์•ฑ์ถœ์‹œ #์•ฑ๋ฐฐํฌ #ํ…Œ์ŠคํŠธ #๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ #ํ’ˆ์•—์ด #๊ฐœ์ธ๊ฐœ๋ฐœ์ž #์ธ๋””๊ฒŒ์ž„ #20๋ช… #์•ˆ๋“œ๋กœ์ด๋“œ #ํ”Œ๋Ÿฌํ„ฐ #๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ #ํ”Œ๋ ˆ์ด์Šคํ† ์–ดopen.kakao.comhttps://cafe.naver.com/devsharing ๊ฐœ๋ฐœ์ž ์ƒ๋ถ€์ƒ์กฐ ํ’ˆ์•—์ด ์นดํŽ˜ : ๋„ค์ด๋ฒ„ ์นดํŽ˜์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ ํ’ˆ์•—์ด ๋ฐ ๋ฆฌ๋ทฐ ํ’ˆ์•—..

์•ˆ๋“œ๋กœ์ด๋“œ expo localization, ์œผ๋กœ ๋‹ค๊ตญ์–ด ์•ฑ ๋งŒ๋“ค๊ธฐ ์ด์ •๋ฆฌ

์›๋ž˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ํ•œ๊ตญ์–ด์—์„œ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๋„ ์ง€์›ํ•˜๊ฒŒ๋” ๋ณ€๊ฒฝ1. ์„ค์น˜npx expo install expo-localization i18next react-i18next 2. ๋ฒˆ์—ญ ํŒŒ์ผ ๊ตฌ์กฐ ์œ„์น˜ (ํ•œ๊ตญ์–ด, ์˜์–ด)โ”œโ”€โ”€ constants/โ”‚   โ””โ”€โ”€ translations/โ”‚       โ”œโ”€โ”€ ko.ts                 # ํ•œ๊ตญ์–ด ๋ฒˆ์—ญโ”‚       โ””โ”€โ”€ en.ts                 # ์˜์–ด ๋ฒˆ์—ญ [์ „์ฒด ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ]project/โ”œโ”€โ”€ app/โ”‚   โ”œโ”€โ”€ _layout.tsx               # ๋ฃจํŠธ ๋ ˆ์ด์•„์›ƒโ”‚   โ””โ”€โ”€ index.tsx                 # ๋ฉ”์ธ ํŽ˜์ด์ง€โ”œโ”€โ”€ components/โ”‚   โ””โ”€โ”€ LanguageSelector.tsx..

์•ˆ๋“œ๋กœ์ด๋“œ ๋‹ค๊ตญ์–ด ์•ฑ ๋งŒ๋“ค๊ธฐ Expo Localization i18next

Expo Localization์€ React Native/Expo ์•ฑ์—์„œ ๋‹ค๊ตญ์–ด ์ง€์›์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— ์ ํ•ฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค ์„ค์น˜npx expo install expo-localization expo-localization์˜ ์ฃผ์š” ๊ธฐ๋Šฅ// ์ฃผ์š” import ํ•ญ๋ชฉimport {   getLocales,     // ์‚ฌ์šฉ์ž ๋””๋ฐ”์ด์Šค์˜ ์–ธ์–ด ์„ค์ • ์กฐํšŒ  getCalendars,   // ์บ˜๋ฆฐ๋” ์ •๋ณด ์กฐํšŒ  useLocales,     // ๋กœ์ผ€์ผ ์ •๋ณด๋ฅผ ์œ„ํ•œ React Hook  useCalendars    // ์บ˜๋ฆฐ๋” ์ •๋ณด๋ฅผ ์œ„ํ•œ React Hook} from 'expo-localization'; ๋กœ์ผ€์ผ ์ •๋ณด ์กฐํšŒconst locales = Localization.getLocales();// ๊ฒฐ๊ณผ ์˜ˆ์‹œ:// [..

Expo Router๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ

Expo Router ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐฉ๋ฒ• npx create-expo-app@latest ์‹คํ–‰ํ•˜๊ธฐnpx expo start // ๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐapp/  โ”œโ”€โ”€ (tabs)                   // ํƒญ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ทธ๋ฃน  โ”‚   โ”œโ”€โ”€ _layout.tsx         // ํƒญ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ ˆ์ด์•„์›ƒ  โ”‚   โ”œโ”€โ”€ index.tsx           // ํ™ˆ ํƒญ ์Šคํฌ๋ฆฐ  โ”‚   โ”œโ”€โ”€ profile/            // ํ”„๋กœํ•„ ๊ด€๋ จ ์Šคํƒ ๋„ค๋น„๊ฒŒ์ด์…˜  โ”‚   โ”‚   โ”œโ”€โ”€ _layout.tsx     // ํ”„๋กœํ•„ ์Šคํƒ ๋ ˆ์ด์•„์›ƒ  โ”‚   โ”‚   โ”œโ”€โ”€ index.tsx       // ํ”„๋กœํ•„ ๋ฉ”์ธ ์Šคํฌ๋ฆฐ  โ”‚   โ”‚   โ””โ”€โ”€ edit.tsx        // ํ”„๋กœํ•„ ์ˆ˜์ • ์Šคํฌ๋ฆฐ  โ”‚  ..

EU์—์„œ ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ ์ง€์—ญ ์ฐจ๋‹จ ๊ทœ์ •(EU) 2018/302๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” - ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์ฝ˜์†”

์ฒซ ์•ฑ ์ถœ์‹œ ์ „ ๊ตฌ๊ธ€์— ํ…Œ์ŠคํŠธ ์š”์ฒญ์„ ํ•˜๋ ค๋Š”๋ฐ EU์—์„œ ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ ์ง€์—ญ ์ฐจ๋‹จ ๊ทœ์ •(EU) 2018/302๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” ๋ผ๋Š” ์ง€์—ญ์ฐจ๋‹จ ๊ทœ์ •๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•ด๋‹น ๊ตญ๊ฐ€ ๋ชฉ๋กEU ์ง€๋ฆฌ์  ์ฐจ๋‹จ ๊ทœ์ •(EU 2018/302)์— ํฌํ•จ๋œ ๊ตญ๊ฐ€๋“ค### **EU ํšŒ์›๊ตญ (์ง€๋ฆฌ์  ์ฐจ๋‹จ ๊ทœ์ • ์ ์šฉ ๊ตญ๊ฐ€):**1. ๊ทธ๋ฆฌ์Šค2. ๋„ค๋œ๋ž€๋“œ3. ๋ด๋งˆํฌ4. ๋…์ผ5. ๋ผํŠธ๋น„์•„6. ๋ฃฉ์…ˆ๋ถ€๋ฅดํฌ7. ๋ฆฌํˆฌ์•„๋‹ˆ์•„8. ๋ชฐํƒ€9. ๋ฒจ๊ธฐ์—10. ๋ถˆ๊ฐ€๋ฆฌ์•„11. ์Šค์›จ๋ด12. ์ŠคํŽ˜์ธ13. ์Šฌ๋กœ๋ฐ”ํ‚ค์•„14. ์Šฌ๋กœ๋ฒ ๋‹ˆ์•„15. ์•„์ผ๋žœ๋“œ16. ์—์Šคํ† ๋‹ˆ์•„17. ์˜ค์ŠคํŠธ๋ฆฌ์•„18. ์ดํƒˆ๋ฆฌ์•„19. ์ฒด์ฝ”20. ํฌ๋กœ์•„ํ‹ฐ์•„21. ํ‚คํ”„๋กœ์Šค22. ํด๋ž€๋“œ23. ํฌ๋ฅดํˆฌ๊ฐˆ24. ํ”„๋ž‘์Šค25. ํ•€๋ž€๋“œ26. ํ—๊ฐ€๋ฆฌ27. ๋ฃจ๋งˆ๋‹ˆ์•„### **์œ ๋Ÿฝ ๊ฒฝ์ œ ์ง€์—ญ(EEA) ๊ตญ๊ฐ€ (๊ทœ์ • ์ ์šฉ ๊ตญ๊ฐ€):..

Error resolving plugin [id: 'com.facebook.react.settings']> Could not read workspace metadata from ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

expo build ํ•˜๋Š” ๊ณผ์ •์—์„œ prebuild ๋งˆ์น˜๊ณ  npx expo run : android ํ–ˆ๋”๋‹ˆ ํ•ด๋‹น ์˜ค๋ฅ˜ ๋ฐœ์ƒ Error resolving plugin [id: 'cohttp://m.facebook.react.settings']> Could not read workspace metadata from  cd android && ./gradlew --stop && rm -rf ~/.gradle/caches  ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ

google admob ํ…Œ์ŠคํŠธ ๊ด‘๊ณ  ID ์„ค์ • (expo router)

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์ถœ์‹œํ•˜๋Š” ๊ณผ์ •์—์„œ ์• ๋“œ๋ชน ํ…Œ์ŠคํŠธ ID ์„ค์ •ํ•˜๋Š”๋ฒ• ์ •๋ฆฌ  ๊ฐœ๋ฐœ ์ค‘์—๋Š” ํ…Œ์ŠคํŠธ ๊ด‘๊ณ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด‘๊ณ ๋ฅผ ํด๋ฆญํ•ด๋„ Google ๊ด‘๊ณ ์ฃผ์—๊ฒŒ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”์‹ค์ œ ๊ด‘๊ณ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด ๋ฌดํšจ ํด๋ฆญ์œผ๋กœ ๊ณ„์ • ์ •์ง€ ๋‹นํ•  ์ˆ˜ ์žˆ์Œ npx install react-native-google-mobile-ads ์• ๋“œ๋ชน์—์„œ ์•ฑ ์ถ”๊ฐ€ ํ•˜๊ณ , ๋‚˜์˜ค๋Š” APP ID ๋ณต์‚ฌ๊ด‘๊ณ  ํ˜•์‹๋ฐ๋ชจ ๊ด‘๊ณ  ๋‹จ์œ„ ID์•ฑ ์˜คํ”„๋‹ ๊ด‘๊ณ ca-app-pub-3940256099942544/9257395921์ ์‘ํ˜• ๋ฐฐ๋„ˆca-app-pub-3940256099942544/9214589741๊ณ ์ • ํฌ๊ธฐ ๋ฐฐ๋„ˆca-app-pub-3940256099942544/6300978111์ „๋ฉด ๊ด‘๊ณ ca-app-pub-3940256099942544/1033173..

๋ฐ˜์‘ํ˜•