Об этом проекте
App Store Connect CLI (`asc`) — быстрый, скриптуемый инструмент командной строки для автоматизации рабочих процессов App Store Connect на платформах iOS, macOS, tvOS и visionOS.
### Установка
- Homebrew: `brew install asc`
- Скрипт установки: `curl -fsSL https://asccli.sh/install | bash`
- WinGet: `winget install Rorkai.ASC --exact`
- Бинарные файлы доступны в релизах на GitHub; сборка из исходников требует версию Go, указанную в go.mod.
### Аутентификация
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 или headless-окружений передавайте `--bypass-keychain`. Проверка через `asc auth status --validate` или `asc auth doctor`.
### Настройки вывода
`asc` использует вывод `table` в интерактивных терминалах и `json` в пайпах/CI. Переопределить глобально через `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
```
Глубокая валидация проверяет App Privacy, соглашения и вложения подписок через авторизованные веб-эндпоинты Apple без интерактивных запросов.
**Метаданные и локализация:**
```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 plan-файл.
**Подписывание и bundle 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` загружает сертификаты и provisioning profiles. `signing sync` делится идентичностями через зашифрованное Git-хранилище. Используйте `--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, ОС, архитектуру, путь команды, длительность и HTTP-статус при сбоях. Они исключают сырые аргументы, учётные данные, идентификаторы аккаунтов Apple, bundle 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` — настройка подписывающих идентичностей и ротация в 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.