앱스토어 출시를 한 줄로 줄인 Go CLI, asc 써보니
애플 앱스토어에 앱을 출시하려면 보통 Xcode Organizer 열고, Archive 누르고, Validator 통과하고, Submit 버튼 누르는 그 과정을 거친다. 한 번만 하면 괜찮은데, CI/CD에 통합하려거나 주 1회 배포하는 팀이라면 매번 “화면 열고—버튼 찾고—기다리고—수동 입력”의 반복이 쌓인다.
Apple은 공식 API를 제공하지만, 이걸 CLI로 추상화한 프로젝트는 많지 않았다. fastlane은 있지만 Ruby 기반이고, 의존성 무겁고, 설정도 만만치 않다. 그런데 최근 asc 라는 이름의 Go CLI가 5,000개가 넘는 스타를 받으면서 주목받고 있다.
한 줄로 요약하면: App Store Connect API의 모든 기능을 터미널 명령어로 만든 Go 바이너리. brew install asc 한 방이면 끝.
앱스토어 출시가 이렇게 쉬워도 되나
asc publish appstore --ipa ./MyApp.ipa --submit --confirm
이거 하나면 IPA 업로드, 메타데이터 첨부, 심사 제출까지 끝난다. 전에는 Xcode 열고 Organizer 들어가서 Archive 찾아서 Validate 누르고 — 아, 빌드 번호가 이미 있다고? 다시 올리고 — Submit 누르면 또 “Are you sure?” 팝업. 그 과정을 한 줄의 셸 명령어로 줄였다는 게 핵심이다.
뭘 할 수 있나
asc가 커버하는 영역을 간단히 정리하면:
- TestFlight — 피드백 조회, 크래시 로그, 빌드 업로드, 베타 그룹 관리
- 앱 출시 — validate → submit → status watching 전 과정
- 메타데이터 — 현지화, 키워드 ASO 감사, 스크린샷 업로드
- 인증서/프로파일 — 리스트 조회
- Apple Ads — 캠페인 관리, 리포트
- StoreKit — 리텐션 메시징 (구독 복원)
- Xcode Cloud — 워크플로우 트리거
- 에이전트 스킬 — AI 에이전트가 asc를 호출해서 배포하게 하는 스킬셋
특히 인상 깊었던 건 애플 광고(Apple Ads) 캠페인 관리 기능이다. 보통 Search Ads는 별도 대시보드 들어가서 봐야 하는데, CLI에서 캠페인 리스트와 리포트를 바로 조회할 수 있다. 광고 운영이 필요한 팀이라면 꽤 유용할 거다.
왜 Go였을까
fastlane이 Ruby, asc-cli가 Swift인 것과 비교하면 asc는 Go로 작성되었다. 이유는 명확하다:
- 단일 바이너리 — brew install 하나면 끝. Ruby도 Swift도 필요 없음
- 크로스 플랫폼 — macOS, Linux, Windows 전부 지원
- CI 친화적 — 도커 이미지에 추가해도 용량 부담 없음
- 설치 스크립트 —
curl -fsSL https://asccli.sh/install | bash
Go라는 선택은 asc의 정체성을 잘 보여준다. “무겁고 설정 복잡한 fastlane을 대체하겠다”는 의도가 분명하다.
AI 에이전트 시대의 앱스토어 CLI
asc가 단순 CLI를 넘어 흥미로운 건 별도의 agent skills 저장소 (rorkai/app-store-connect-cli-skills)를 운영한다는 점이다. 이 스킬들을 설치하면 AI 코딩 에이전트(예: Codex)가 직접 asc 명령어를 조합해서 배포 워크플로우를 실행할 수 있다.
“asc 앱 출시해줘” — AI가 IPA 업로드 → TestFlight 배포 → 심사 제출까지 알아서 처리
이런 그림이 현실이 되고 있다. CLI 자체로도 강력하지만, MCP 서버 형태로 에이전트와 연동되면 “에이전트가 알아서 배포하는” 단계로 진화할 수 있다. 이미 blitz-mac이라는 경쟁 프로젝트는 MCP 서버를 내장해서 나왔다.
써보면서 느낀 점
brew install asc → asc auth login → asc apps list까지 3분이면 끝난다. App Store Connect에서 API 키를 발급받는 게 가장 오래 걸릴 정도.
터미널이 TTY면 테이블 출력, 파이프면 JSON 자동 전환 — UX 디테일도 신경 썼다. --output markdown 옵션이 있는 것도 재미있는 포인트. 문서 작성할 때 복사해서 바로 붙여넣을 수 있다.
텔레메트리는 기본 활성화인데, 익명화된 명령어 사용 통계만 수집한다고 한다. 민감한 정보(API 키,issuer ID, 앱 번들 ID 등)는 수집하지 않는다. 민감하다면 asc telemetry disable로 끌 수 있다.
이런 팀/사람에게 추천
- 매주 또는 더 자주 앱스토어에 배포하는 팀
- CI/CD 파이프라인에 앱스토어 출시를 통합하려는 팀
- fastlane이 너무 무겁다고 느끼는 사람
- AI 에이전트로 배포 자동화를 실험하는 사람
- 애플 광고(Search Ads)를 CLI로 관리하고 싶은 마케터
마치며
asc는 “애플 앱스토어를 터미널에서 지배한다”는 아이디어를 Go 하나로 깔끔하게 구현했다. 5,000 스타가 과장이 아님을 직접 써보면 알 수 있다. 앱 출시 파이프라인을 간소화하려는 iOS 개발자라면, fastlane보다 이쪽을 먼저 보길 권한다.
공식 사이트: asccli.sh
GitHub: rorkai/App-Store-Connect-CLI