클로드 CLI로 앱스토어 배포까지 — 비개발자를 위한 실전 가이드
Reddit의 한 사용자가 클로드 CLI만으로 화장실 찾기 나침반 앱을 만들어 iOS와 안드로이드 스토어에 배포했습니다. Compiss라는 이름의 앱은 애플워치 버전까지 갖췄고, 모든 코드를 클로드가 작성했어요. 개발자가 아니어도 이제 실용적인 앱을 만들어 세상에 내놓을 수 있다는 증거죠. 이 글을 읽고 나면 여러분도 아이디어를 실제 앱스토어 배포까지 연결하는 전체 과정을 이해하고, 직접 시작할 수 있게 됩니다.
준비물은 무엇이 필요한가요?
필수 도구
- Claude Code CLI (Anthropic 공식 CLI 도구)
- Anthropic API 크레딧 (요금·플랜은 Anthropic 공식 페이지에서 확인하세요)
- 개발자 계정: 애플 Developer Program (iOS) 또는 Google Play Console (안드로이드)
- 터미널을 사용할 수 있는 환경 (macOS, Windows, Linux 모두 가능)
선택 사항
- 테스트용 실기기 (위치 기반 앱은 실기기가 정확해요)
아이디어를 어떻게 구체적인 요구사항으로 만드나요?
클로드에게 "앱 만들어줘"라고 하면 십중팔구 엉뚱한 결과가 나옵니다. 핵심은 명확한 요구사항 문서를 먼저 만드는 거예요.
1단계: 핵심 기능 3가지로 압축하기
Compiss 앱의 경우 핵심은 이 세 가지였습니다.
- 사용자의 현재 위치 감지
- 가장 가까운 화장실 위치 데이터 조회
- 화장실 방향을 나침반처럼 표시
여러분의 앱도 이렇게 3~5개 문장으로 압축해보세요.
"React Native로 iOS/안드로이드 크로스플랫폼 앱을 만들어줘.
1. 사용자 위치를 GPS로 실시간 감지
2. Overpass API로 반경 5km 내 화장실(amenity=toilets) 검색
3. 가장 가까운 화장실 방향을 화살표로 표시, 거리를 미터 단위로 표시"
→ 클로드가 프로젝트 구조를 제안하고, package.json부터 생성했습니다. 첫 응답에서 파일 7개가 나왔어요.
2단계: 데이터 소스 미리 확인하기
화장실 위치는 OpenStreetMap의 Overpass API를 썼습니다. 공개 API라 무료인데, 요청 형식을 정확히 알려줘야 클로드가 헛짓을 안 해요. Overpass Turbo 사이트에서 쿼리를 테스트한 뒤 그 쿼리를 클로드에게 붙여넣으면 동적 좌표 삽입까지 처리한 fetch 코드를 30초 만에 받을 수 있습니다.
클로드 CLI로 어떻게 실제 동작하는 앱을 만드나요?
이제 본격적인 개발 단계입니다. 여기서 핵심은 작은 단위로 쪼개서 확인하는 거예요.
3단계: 화면 하나씩 대화로 만들기
처음엔 화면 하나만 요청했어요.
"현재 위치를 표시하는 화면 하나만 먼저 만들어줘.
- 위도·경도를 숫자로 표시
- 위치 권한 요청 다이얼로그 포함
- 위치를 못 가져오면 에러 메시지 표시"
→ 클로드가 expo-location 패키지를 사용한 컴포넌트를 만들었어요. npm start로 실행하니 에뮬레이터에서 바로 위치가 떴습니다.
그 다음 나침반 UI를 요청했더니 expo-sensors로 화살표가 돌아가는 걸 30분 만에 봤습니다.
4단계: 통합하고 버그 고치기
개별 기능이 동작하면 이제 합치는 단계입니다. 여기서 화살표가 반대로 돌더군요. 클로드에게 "화살표가 목표 방향의 반대로 회전해. heading 계산 로직을 디버깅해줘"라고 물었더니 Math.atan2 인자 순서가 바뀌었다는 걸 찾아내고 수정했습니다.
스토어 배포는 어떻게 진행하나요?
앱이 완성되면 이제 세상에 내놓을 차례입니다. 여기서도 클로드가 도움을 줍니다.
5단계: 빌드 설정 자동화
클로드에게 "iOS와 안드로이드 릴리즈 빌드를 만들 수 있게 설정해줘. app.json에 앱 이름, 아이콘, 번들 ID 설정하고 버전은 1.0.0으로"라고 요청했더니 eas build 명령어와 app.json 설정을 알려줬어요. 처음엔 빌드 서버에서 에러가 났는데, 에러 메시지를 붙여넣으니 프로비저닝 프로파일 생성 순서를 단계별로 설명해줬습니다.
6단계: 스토어 제출 준비
스토어에 올리려면 스크린샷, 설명, 개인정보 처리방침이 필요합니다. 저는 클로드에게 개인정보 처리방침 HTML 템플릿을 요청했고, GDPR 준수 페이지를 받아 GitHub Pages로 호스팅했어요.
실제로 겪은 실수와 해결법
실수 1: API 호출을 너무 자주 해서 차단당함
Overpass API는 1초에 2번 이상 요청하면 429 에러를 돌려줍니다. 저는 5초마다 화장실 목록을 새로 받도록 했다가, 사용자가 화면을 켰다 껐다 반복하면 순식간에 차단되더라고요.
해결법: 클로드에게 "마지막 요청 후 30초가 지나야 다시 호출하게 throttling 추가해줘"라고 했더니, lodash의 throttle을 써서 깔끔하게 해결했습니다.
실수 2: 애플 심사에서 거부당함 (처음)
앱 설명에 "가장 정확한"이라는 단어를 썼더니, 애플 측에서 "실증 데이터가 없는 최상급 표현 금지" 규정 4.5.6 위반으로 리젝했어요.
해결법: 설명을 "OpenStreetMap 기반 화장실 찾기"로 바꿨더니 다음 날 통과했어요.
지금 바로 시작하는 법
간단한 앱부터 시작하세요. "내 주변 카페 찾기" 같은 한 가지 기능만 있는 앱을 일주일 목표로 잡는 게 현실적입니다. Claude Code CLI를 설치하고, 첫 대화를 "React Native 기본 프로젝트 구조 만들어줘"로 시작하면 됩니다.
자주 묻는 질문
Q. 개발 경험이 정말 없어도 되나요? A. 터미널에서 명령어를 복사-붙여넣기 할 수 있으면 됩니다. Compiss 앱 제작자도 비개발자였습니다 (출처: Reddit r/ClaudeAI 게시글).
Q. 비용은 얼마나 드나요? A. 간단한 앱은 프로토타입까지 Anthropic API 사용료 $5~10 정도 들었어요. 애플 개발자 계정은 연간 $99, 구글은 일회성 $25입니다.
Q. 배포까지 시간은 얼마나 걸리나요? A. Compiss 사례를 보면 아이디어부터 첫 스토어 배포까지 약 2주 걸렸습니다. 하루 2~3시간 투자한다면 비슷한 기간이 나올 거예요.
Q. 어떤 종류의 앱을 만들 수 있나요? A. 위치 기반, 계산기, 타이머, 메모 등 데이터 처리가 복잡하지 않은 유틸리티 앱은 대부분 가능합니다.
Q. 중간에 막히면 어떻게 하나요? A. 에러 메시지 전체를 클로드에게 붙여넣으세요. "Cannot read property 'latitude' of undefined" 에러가 났을 때 콘솔 로그를 통째로 보냈더니, null 체크 조건문 3줄을 추가하라는 정확한 답을 받았습니다.