프로젝트 소개
App Store Connect CLI(`asc`)는 iOS, macOS, tvOS, visionOS 플랫폼에서 App Store Connect 워크플로를 자동화하기 위한 빠르고 스크립트 가능한 명령줄 도구입니다.
### 설치
- Homebrew: `brew install asc`
- 설치 스크립트: `curl -fsSL https://asccli.sh/install | bash`
- WinGet: `winget install Rorkai.ASC --exact`
- GitHub 릴리스에서 릴리스 바이너리를 사용할 수 있습니다. 소스 빌드에는 go.mod에 선언된 Go 버전이 필요합니다.
### 인증
API 키는 appstoreconnect.apple.com에서 생성됩니다. 다음으로 인증합니다:
```bash
asc auth login --name "MyApp" --key-id "ABC123" --issuer-id "DEF456" --private-key /path/to/AuthKey.p8 --network
```
개별 API 키는 `--issuer-id`를 생략하고 `--key-type individual`을 사용합니다. CI 또는 헤드리스 환경에서는 `--bypass-keychain`을 전달합니다. `asc auth status --validate` 또는 `asc auth doctor`로 검증합니다.
### 출력 기본값
`asc`는 대화형 터미널에서 `table` 출력을 사용하고 파이프/CI에서 `json`을 사용합니다. `ASC_DEFAULT_OUTPUT`으로 전역적으로 재정의하거나 `--output json --pretty`로 명령별로 재정의합니다.
### 일반적인 워크플로
**TestFlight 및 빌드:**
```bash
asc apps list --output table
asc builds upload --app "APP_ID" --ipa "/path/to/MyApp.ipa"
asc testflight groups list --app "APP_ID"
```
**App Store 제출:**
```bash
asc publish appstore --app "APP_ID" --ipa "/path/to/MyApp.ipa" --version "1.2.3" --submit --confirm
asc status --app "APP_ID" --watch
```
**검증 및 검토:**
```bash
asc validate --app "APP_ID" --version "1.2.3"
asc review status --app "APP_ID"
asc validate --app "APP_ID" --version "1.2.3" --deep
```
심층 검증은 대화형 프롬프트 없이 Apple의 로그인 웹 엔드포인트를 통해 App Privacy, 계약 및 구독 첨부 파일을 확인합니다.
**메타데이터 및 현지화:**
```bash
asc localizations list --app "APP_ID" --type app-info
asc metadata apply --app "APP_ID" --version "1.2.3" --dir "./metadata" --dry-run
asc metadata keywords audit --app "APP_ID" --version "1.2.3" --blocked-terms-file "./blocked-terms.txt"
```
키워드 감사는 중복, 앱 이름/부제와의 중복, 바이트 예산 사용량 및 차단된 용어를 보고합니다.
**스크린샷 및 미디어:**
```bash
asc screenshots plan --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review"
asc screenshots apply --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review" --confirm
```
JSONC 계획 파일을 통해 기기, 로케일 및 모양 전반에 걸친 매트릭스 기반 스크린샷 캡처가 지원됩니다.
**서명 및 번들 ID:**
```bash
asc bundle-ids capabilities list --bundle "BUNDLE_ID"
asc signing fetch --bundle-id com.example.app --profile-type IOS_APP_STORE --output .asc/signing
asc signing sync pull --repo [email protected]:team/signing.git --password-file ~/.config/asc/signing-sync-password --output-dir .asc/signing/pulled
```
`signing fetch`는 인증서 및 프로비저닝 프로필을 다운로드합니다. `signing sync`는 암호화된 Git 저장소를 통해 ID를 공유합니다. `--create-missing`를 사용하여 누락된 키/인증서/프로필을 한 번에 생성합니다.
**워크플로 자동화:**
```bash
asc workflow validate --output json
asc workflow run --dry-run testflight_beta VERSION:1.2.3
```
**Xcode Cloud:**
```bash
asc xcode-cloud run --workflow-id "WORKFLOW_ID" --pull-request-id "PR_ID"
asc xcode-cloud build-runs get --id "BUILD_RUN_ID"
```
**Apple Ads 및 StoreKit:**
Apple Ads 캠페인 및 StoreKit Retention Messaging에는 별도의 OAuth 자격 증명이 사용됩니다. 설정은 `asc ads auth login` 및 `asc storekit auth login`을 참조하세요.
### 에이전트 스킬
검토된 25개의 `asc` 자동화 스킬은 https://github.com/rorkai/app-store-connect-cli-skills에서 사용할 수 있습니다. `asc install-skills`로 전역 설치하면 체크아웃된 커밋을 고정하고 모든 파일을 검증합니다.
### 개인정보 및 원격 측정
유지 관리자가 안정성을 추적할 수 있도록 기본적으로 가명 명령 수준 원격 측정이 전송됩니다. 이벤트에는 CLI 버전, OS, 아키텍처, 명령 경로, 기간 및 실패 시 HTTP 상태가 포함됩니다. 원시 인수, 자격 증명, Apple 계정 식별자, 번들 ID 및 파일 경로는 제외됩니다. `ASC_TELEMETRY_DISABLED=1`, `DO_NOT_TRACK=1` 또는 `asc telemetry disable`로 비활성화합니다.
### 문서
- `docs/CI_CD.md` — GitHub Actions, GitLab, Bitrise, CircleCI 통합
- `docs/WORKFLOWS.md` — 로컬 Xcode에서 TestFlight 패턴
- `commands/signing.mdx` — 서명 ID 설정 및 CI 순환
- `guides/apple-ads-playbooks.mdx` — Apple Ads 운영자 가이드
- `docs/API_NOTES.md` — API 특이점 및 동작
- `docs/PARITY.md` — 남은 패리티 영역
내장 도움말이 권위적입니다: `asc <command> --help`.
라이선스: MIT. 비공식 도구이며 Apple Inc.와 제휴하지 않습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.