
# 젤리의 적자탈출 앱 배포 가이드

## 준비 사항

1. 안드로이드 배포
   - Android Studio 설치
   - JDK 11 이상 설치
   - Google Play 개발자 계정 ($25 일회성 비용)

2. iOS 배포
   - Mac 컴퓨터
   - Xcode 최신 버전 설치
   - Apple Developer Program 가입 ($99/년)
   - iPhone 또는 iPad (테스트용)

## 배포 단계

### 1. 웹앱 빌드
```bash
npm run build
```

### 2. Capacitor 설치 및 초기화 (처음 한 번만)
```bash
npm install @capacitor/cli @capacitor/core
npx cap init
```

### 3. 네이티브 플랫폼 추가
```bash
npx cap add android
npx cap add ios  # Mac에서만 가능
```

### 4. Capacitor와 빌드된 웹앱 동기화
```bash
npx cap sync
```

### 5. 네이티브 IDE 열기
```bash
npx cap open android  # Android Studio 열기
npx cap open ios      # Xcode 열기 (Mac에서만 가능)
```

## 앱 아이콘 및 스플래시 스크린 설정

### 안드로이드 아이콘
- `android/app/src/main/res/` 폴더 내 각 mipmap 폴더에 다양한 크기의 아이콘 배치
- 아이콘 크기:
  - mipmap-mdpi: 48x48 px
  - mipmap-hdpi: 72x72 px
  - mipmap-xhdpi: 96x96 px
  - mipmap-xxhdpi: 144x144 px
  - mipmap-xxxhdpi: 192x192 px

### iOS 아이콘
- Xcode의 Assets.xcassets 내 AppIcon에 아이콘 설정
- 다양한 크기 필요 (20pt~83.5pt, @1x, @2x, @3x)

## Git 관리 가이드

### Lovable에서 생성된 코드 관리하기

#### 1. 로컬 변경사항 백업
```bash
# 현재 변경사항을 새 브랜치에 저장
git checkout -b local-android-build
git add .
git commit -m "안드로이드 빌드 환경 설정 및 서버 URL 변경"
```

#### 2. 최신 코드 가져오기
```bash
# 메인 브랜치로 돌아가기
git checkout main

# 최신 코드 가져오기
git pull
```

#### 3. 로컬 설정 적용하기
```bash
# 필요한 파일만 선택적으로 가져오기
git checkout local-android-build -- capacitor.config.ts android/

# 변경사항 커밋
git commit -m "안드로이드 빌드 환경 설정 및 서버 URL 변경 적용"
```

#### 4. 앱 빌드하기
```bash
# 앱 동기화 및 빌드
npx cap sync
cd android && ./gradlew assembleDebug
```

### 주요 설정 파일 관리 팁

1. **capacitor.config.ts**
   - `server.url`: 앱이 연결할 서버 URL 설정
   - `appId`: 앱 식별자 (스토어 등록 시 중요)

2. **android/variables.gradle**
   - SDK 버전 설정 (compileSdkVersion, targetSdkVersion)
   - 라이브러리 버전 관리

3. **android/build.gradle**
   - Java 버전 호환성 설정
   - 프로젝트 수준 종속성 관리

4. **android/app/src/main/res/values/colors.xml**
   - 앱 색상 테마 설정
   - 중복 정의 피하기

### Git 관리 모범 사례

1. **로컬 설정 분리하기**
   - 빌드 환경 설정은 별도 브랜치에 보관
   - 핵심 설정만 메인 브랜치에 적용

2. **충돌 해결 전략**
   - 서버 URL 등 중요 설정은 로컬 값 유지
   - 빌드 설정은 로컬 환경에 맞게 조정

3. **변경사항 문서화**
   - 중요 설정 변경 시 커밋 메시지에 명확히 기록
   - 이 가이드 문서 지속적으로 업데이트

## 스토어 등록 정보 준비

### 공통 필요 자료
- 앱 설명 (짧은 설명 및 상세 설명)
- 스크린샷 (다양한 기기)
- 앱 아이콘 (고해상도)
- 개인정보 처리방침 URL

### Google Play 스토어
- 앱 카테고리 선택
- 콘텐츠 등급 설문 작성
- 앱 가격 설정

### Apple App Store
- App Store Connect에서 앱 등록
- 앱 심사 가이드라인 준수
- TestFlight를 통한 베타 테스트 권장

## 앱 빌드 및 제출

### 안드로이드
1. Android Studio에서 Build > Generate Signed Bundle/APK
2. 앱 서명 키 생성 또는 기존 키 사용
3. 앱 번들(AAB) 생성
4. Google Play Console을 통해 제출

### iOS
1. Xcode에서 앱 인증서 및 프로비저닝 프로파일 설정
2. Product > Archive
3. App Store Connect에 업로드
4. 앱 심사 제출

## 중요 팁
- 배포 전 다양한 기기에서 앱 테스트 필수
- 앱 출시 후 지속적인 모니터링 및 업데이트 계획
- 사용자 피드백 수집 및 반영 메커니즘 구축
