[개발 환경 설정] React Native (Expo) 앱 외부 공유 방법 총 정리

헤이안나·2025년 5월 17일
0
비교ngrokapkeas update
🔗 링크 공유⚠️ 서버 켜둬야 함✅ 가능 (파일 업로드 필요)직접적인 링크 공유 불가
💻 맥북 꺼도 됨❌ 안 됨✅ 됨✅ (빌드 앱 기준으로)
🔗 포폴에 링크 삽입❌ 불안정⚠️ 링크 + 설치 필요브라우저 접속 불가
👀 외부 보기 편함❌ 복잡함❌ 설치 필요Expo Go + 설치 필요

✅ 1. ngrok + expo start --tunnel

로컬 서버를 외부에 노출하는 방식

1) 설치

brew install ngrok

2) 인증 토큰 등록

Ngrok 회원가입 후, https://dashboard.ngrok.com/get-started/setup 접속
아래 명령어로 등록

ngrok config add-authtoken <YOUR_TOKEN>

3) 터널 실행

npx expo start --tunnel

⚠️ 단점

  • 맥북 켜져 있어야 접속 가능
  • 인터넷 불안정하면 공유 끊김
  • QR 코드 공유는 가능하지만 신뢰도 낮음

💡 보조 명령어 : ngrok + expo start --lan

같은 와이파이 상의 기기에서만 접속 가능 (내부 테스트용)

yarn expo start --lan
  • 같은 와이파이 환경의 스마트폰에서 QR 코드 스캔 → 앱 실행
  • 외부 네트워크에서는 접속 불가
  • 실내 테스트 / 수업 중 시연에 적합

☕ 맥북 슬립 방지: caffeinate

빌드 중 절전모드로 들어가지 않도록 유지

caffeinate
  • eas build, expo start 중 슬립 모드로 진입하면 에러 발생 가능
  • 백그라운드 유지하고 싶을 때 실행 → 종료는 Ctrl + C

✅ 예시: 슬립 방지 + LAN 실행 동시에

caffeinate && expo start --lan

📌 --tunnel은 외부 공개용, --lan은 내부망 공유용
caffeinate는 안정적 테스트를 위한 맥북 필수 명령어!


✅ 2. .apk 빌드 → 외부 공유

안드로이드 사용자 대상 .apk 설치 파일 직접 공유

1) EAS 초기 설정

npx create-expo-app myApp
cd myApp
npx expo install eas-cli
npx eas login

2) eas.json 생성 (또는 수정)

{
  "build": {
    "preview": {
      "distribution": "internal"
    }
  }
}

3) 빌드 실행 (안드로이드용)

eas build --platform android --profile preview

4) 빌드 완료되면 .apk 다운로드 링크 확인 가능

5) 링크 복사 → 공유

예시:

https://expo.dev/artifacts/eas/abcdefg-your-apk.apk

6) QR 코드 생성 (선택)

⚠️ 단점

  • 앱 설치 시 "알 수 없는 출처 허용" 필요
  • 아이폰 불가능 (iOS는 .ipa + 인증서 필요)
  • 설치 직접 해야 해서 포트폴리오 접근은 다소 불편

✅ 3. eas update + Expo Go

Expo Go 앱을 통한 실시간 업데이트 배포

1) Expo Go 앱 설치

  • iOS: 앱스토어에서 Expo Go 검색 후 설치
  • Android: 플레이스토어에서 Expo Go 검색 후 설치

2) EAS 초기 설정

npx eas login

3) app.json 또는 app.config.js 설정

"runtimeVersion": {
  "policy": "appVersion"
},
"updates": {
  "url": "https://u.expo.dev/<project-id>"
}

4) 업데이트 실행

eas update --branch preview

5) 공유 방법

  • Expo Go 앱 > QR 코드 스캔
  • 또는 앱 실행 후 프로젝트 자동 표시됨

⚠️ 단점

  • Expo Go 앱이 필수
  • 앱 설치 없이 브라우저 접근 불가
  • 네이티브 기능 제한 있음

📌 참고

  • .apk설치 파일, 링크는 만들 수 있지만 접근은 직접 설치해야 함
  • eas update배포 자동화에 강점 있지만 Expo Go 필수
  • ngrok빠른 테스트/동기 개발용, 실 배포에는 부적절

📮 ChatGPT 통해 정리한 내용으로 정확한 정보는 공식 문서나 구글링 필수

profile
리액트 공부하는 사람

0개의 댓글