사례 1 — 기획서.hwp에서 App Store 판매중까지 (22개월)
문제
혼자서 기획→백엔드→모바일→심사→배포→재심사까지 전부 해야 했다 (거절 3회 포함).
해결
Flutter 전환 + ASC API 제출 자동화 + 서명 파이프라인 구축.
결과
Moon Whisper App Store 판매중(READY_FOR_SALE), 재제출이 당일 처리되는 체계 확립.
배경과 시기GitHub에서 피드백 남기기
- 2024-11-09
Initial commit, 11-11Create Moon_Whisper 기획 (1).hwp— “달에게 쓰는 혼잣말 감정일기” 기획. - 초기 스택: Spring Boot 백엔드 + 웹. 혼자서 기획·개발·운영 전부 담당.
- 리스크: 1인이라 심사 거절·서명 오류 같은 "코딩 밖의 벽"에 대비된 절차가 없었다.
방향이 바뀐 순간GitHub에서 피드백 남기기
- 백엔드가 안정된 뒤에도 모바일 경험이 없으면 기획의 핵심(하루 끝 조용한 기록)이 전달되지 않는다는 판단 → Flutter 전환 결정(
2025-03-28 Create flutter1.0.0.zip). - 심사를 두 번째 거절당하며 깨달은 것: 거절은 운이 아니라 데이터다 — 거절→수정→재제출 이력을 체계화하면 다음 심사가 빨라진다. 이때부터 모든 제출을 API로 남기기 시작.
목표GitHub에서 피드백 남기기
- iOS + Android 동시 배포 체계 (기한: 분기 내)
- 심사 제출을 재현 가능한 절차로 (수동 작업 제거)
- 거절 3회 이력을 정리해 통과 루트 확보
결정한 것과 버린 것GitHub에서 피드백 남기기
-
Spring 유지Flutter 전환
Flutter 선택
Flutter 선택. 이유: 감정일기의 핵심은 “하루 끝 3분” 모바일 경험이고, 로컬 알림(
flutter_local_notifications, 2025-12-18 커밋)이 필수였기 때문. -
웹 콘솔 수동 제출ASC(iris) API 자동화
API 선택
API 선택. 이유: 3개 앱을 반복 제출해야 했고, 제출 전문을 증거로 남기고 싶었다 (결과: 9,100줄 요청·응답 보존).
-
자동 서명 프로필수동 distribution signing
자동을 시도했다가 실패, 수동으로 전환 후 identity 정렬로 마무리 (2026-08-19, refs #410). 이 3단 시행착오는 아래 Failure 섹션.
만든 것GitHub에서 피드백 남기기
- Flutter 앱 (iOS + Android), 로컬 알림, 클라우드 복구
- ASC API 제출 자동화 스크립트 — 제출·상태 조회·재제출
- GitHub Actions 서명 업로드 파이프라인 (
feat(apps): enable signed mobile store uploads) - 스토어 메타데이터 정본 3종 — “좋아요·답장·알림 없음” 조용함 차별화 축 (
APP_STORE_META.md)
지표 — 전과 후GitHub에서 피드백 남기기
-
스토어 상태
미출시READY_FOR_SALE (판매중)출시 달성
asc_summary_after_submit.json
-
심사 제출
웹 콘솔 수동iris API 자동화절차화
asc_official_api.json (9,100줄)
-
플랫폼
웹만iOS + Android2플랫폼
APP_STORE_META.md (Bundle ID 2종)
-
거절 대응
즉흥 수정거절→수정→재제출 이력 체계3회 경험 축적
ios_review_recovery_2026_07_06/ 폴더
-
다운로드·매출
—NOT_VERIFIED (비공개)정책상 비공개
실패한 가설과 대응GitHub에서 피드백 남기기
가설 1: “자동 서명 프로필이면 끝”
→ 실패. 빌드는 되지만 업로드 거부. → 수동 signing으로 전환.
가설 2: “수동이면 끝”
→ identity 불일치 재발. →
align project release signing identity로 정렬해 종결.교훈
iOS 서명에 "한 번 고침"은 없다. 시도마다 커밋으로 남긴 것이 3번째 시도에서 10분 만에 해결하게 만든 이유.
면접용 2분 답변GitHub에서 피드백 남기기
상황
“1인으로 감정일기 앱을 기획하고 출시까지 갔고, 심사에서 세 번 막혔습니다.”
과제
“제 역할은 기획부터 심사 대응까지 전부였고, 특히 심사 제출을 재현 가능하게 만드는 것이 과제였습니다.”
행동
“Flutter 전환을 선택했고, 웹 콘솔 대신 ASC API로 제출을 자동화했습니다. 서명 오류는 자동→수동→정렬 세 단계를 커밋으로 남기며 좁혔습니다.”
결과
“Moon Whisper가 App Store에서 READY_FOR_SALE 상태로 판매중이고, 재제출이 당일 처리되는 체계가 남았습니다. 거절 이력 3건도 자산이 됐습니다.”
증거GitHub에서 피드백 남기기
| 주장 | 증거 |
|---|---|
| 판매중 | asc_summary_after_submit.json — 1.4.0/1.0 READY_FOR_SALE |
| 거절 이력 | 같은 파일 1.4.1 REJECTED 병기 |
| API 자동화 | asc_official_api.json 9,100줄 |
| 서명 해결 | 커밋 연쇄 2026-08-19 (refs #410, 5커밋) |
| 스토어 카피 | APP_STORE_META.md 차별화 축 |
다음으로GitHub에서 피드백 남기기
- 출시는 코딩 30% + 절차 70% — 절차를 자동화한 사람이 이긴다
- 거절 기록은 다음 심사의 지도다
이후 이어진 이야기GitHub에서 피드백 남기기
- 심사 자동화 상세: case-4-appstore-automation
- 제품 체계: projects-catalog