단계 순서로 읽는다
프로젝트 셋업부터 출시 후 운영까지 15단계, 18편. 각 문서가 "왜 → 선행 조건 → 단계 → 함정 → 완료 기준"으로 같은 모양이다. 단계마다 어디서 무슨 값을 받아 어디에 적는지가 적혀 있다.
전체 지도 보기
모바일 앱을 새로 만들어 App Store와 Google Play 심사에 올리고 운영하기까지, 매번 반복되는 셋업을 단계 순서로 정리한 것이다. 콘솔 11종을 오가며 받아야 하는 값이 수십 개이고, 그중 절반은 다른 값을 먼저 받아야 채울 수 있다. 그 순서와 함정을 적어 두었다.
대상 스택은 하나로 고정돼 있다. Expo/EAS · Supabase · RevenueCat · Firebase Crashlytics · AdMob · Apple/Google/카카오/이메일 OTP 로그인 · Vercel 랜딩. 일반론이 아니라 이 조합으로 실제 출시한 절차라서, 명령과 콘솔 메뉴 경로가 그대로 실행된다. 교체 가능한 지점(메일 제공자, 백엔드)은 그렇다고 표시해 두었다.
프로젝트 값은 전부 {{플레이스홀더}}로 비워 두었고, 값 입력 양식이 그 이름의 정의처다. 사람은 이 문서를 읽으며 콘솔을 클릭하고, Claude Code는 같은 문서를 스킬로 읽어 ☐ Claude 항목을 대신 실행한다.
새 프로젝트다 — 01 프로젝트 셋업부터 순서대로 읽는다. 다만 02 계정 개설의 신청서는 1주차에 전부 넣어 둔다. Apple 멤버십·Play 본인 확인·카카오 비즈 앱·AdMob 승인은 사람이 처리해서 1~2주가 걸리고, 그동안 나머지 작업이 전부 막힌다.
코드는 있고 콘솔만 남았다 — 00 전체 지도의 선행 관계 그래프를 먼저 본다. 도메인 → 백엔드 ref → Firebase → 앱 레코드 → 빌드 → 스토어 순으로 사슬이 한 줄이다. 이 순서를 어기면 이미 채운 콘솔 칸으로 되돌아오게 된다.
무엇을 하든 값 입력 양식을 대상 프로젝트의 docs/ops/launch-values.local.md로 복사하는 것이 첫 단계다. 시크릿은 그 파일에만 적는다.
소절 단위의 자세한 색인은 00 전체 지도에 있다.
| 서비스 · 콘솔 | 어디서 다루나 |
|---|---|
| Apple Developer · App Store Connect | 02 계정 · 04 로그인 Sign in with Apple · 05 결제 · 08 푸시 APNs 키 · 12 빌드 · 서명 iOS 크리덴셜 · 13a ASC · 14 심사 |
| Google Play Console | 02 계정 · 05 결제 · 13b Play · 14 심사 · 15 출시 후 |
| Supabase | 03 백엔드 · 04 로그인 · 05 결제 웹훅 |
| Firebase · Google Cloud | 02 계정 · 04 로그인 OAuth 클라이언트 · 07 크래시 리포트 · 08 푸시 · 15 출시 후 지문 추가 |
| RevenueCat | 02 계정 · 05 결제 |
| 카카오 개발자 | 02 계정 · 04 로그인 |
| AdMob | 02 계정 · 06 광고 · 13a ASC App Privacy · 13b Play 광고 선언 |
| Expo · EAS | 01 프로젝트 셋업 · 02 계정 · 12 빌드 · 서명 · 15 출시 후 |
| Vercel · 도메인 · DNS | 02 계정 · 10 법정 문서 · 11 랜딩 · 딥링크 · 15 출시 후 재배포 |
| 메일(SMTP) | 02 계정 · 04 로그인 |
| GitHub | 01 프로젝트 셋업 · 03 백엔드 keepalive |
| 법정 문서 · 스토어 설문 | 10 법정 문서 · 13 스토어 등록 |
순수 작업 시간은 10~12일이다. 실제 달력으로는 계정 승인과 심사 대기가 끼어 법인·기존 계정이면 3~4주, 새 개인 계정이면 5~6주다. 신규 개인 Play 계정은 테스터 12명이 14일 연속 참여하는 비공개 테스트를 요구하므로 여기서 2주를 더 잡는다. 단계별 소요와 대기 항목은 00 전체 지도에 표로 있다.