App Store Connect CLI: tự động hóa App Store Connect
App Store Connect CLI thay thế thao tác thủ công trên trình duyệt App Store Connect bằng các câu lệnh có thể viết script. JSON-first output rất thuận tiện cho pipeline, tính năng tự nhận TTY là điểm hay, telemetry tùy chọn và stability label giúp ích cho CI. Nhược điểm: đây là công cụ không chính thức, nên Apple thay đổi API là có thể gặp lỗi. Đáng dùng khi bạn cần phát hành qua CI hoặc lặp đi lặp lại các tác vụ trên App Store. Bỏ qua nếu bạn chỉ cần upload thủ công đôi khi.
App Store Connect CLI là gì?
App Store Connect CLI là giao diện dòng lệnh cho App Store Connect API. Nó tự động hóa phát hành iOS, macOS, tvOS, và visionOS từ bất kỳ terminal hay CI pipeline nào. Các câu lệnh bao phủ toàn bộ vòng đời phát hành: upload build, quản lý nhóm TestFlight, nộp lên App Store, đồng bộ metadata và screenshot, kiểm tra certificate và provisioning profile, và hơn thế nữa. Output mặc định là JSON cho scripting, chuyển sang bảng khi dùng tương tác.
Các tính năng tự động hóa chính
- ✓Output JSON-first, thiết kế để pipe sang tool khác, có flag `--output` cho table, JSON, hoặc markdown
- ✓Tự nhận TTY — chuyển output sang bảng trên terminal và JSON trong pipeline
- ✓Authentication qua App Store Connect API key, hỗ trợ keychain và file cho CI
- ✓Câu lệnh cho builds, TestFlight, nộp app, metadata, screenshots, certificates, profiles, và bundle IDs
- ✓Quản lý Apple Ads campaign và StoreKit Retention Messaging trên credential system riêng
- ✓Tích hợp Xcode Cloud — trigger và theo dõi workflow từ pull request
- ✓Câu lệnh `asc skills` cài đặt 23 skill đã được review cho Claude Code và các AI assistant khác
- ✓Stability label đánh dấu câu lệnh là stable, experimental, hoặc deprecated để CI script biết kỳ vọng
Các workflow tự động phổ biến
- •Tải build IPA hoặc PKG lên TestFlight và thêm vào beta group từ GitHub Actions job
- •Nộp app lên App Store với metadata được copy từ phiên bản trước — tiết kiệm thời gian khi có nhiều bản cập nhật liên tiếp
- •Kiểm tra keyword metadata trên tất cả locale trước khi publish — phát hiện từ khóa bị trùng hoặc thiếu trên thị trường nào đó
- •Trigger Xcode Cloud workflow từ pull request và poll kết quả build
- •Upload screenshot cho nhiều loại thiết bị và locale cùng lúc bằng một script duy nhất
- •Quản lý certificate và provisioning profile của App Store Connect API từ script — hữu ích khi renewal định kỳ
Cài đặt công cụ CLI
Cài qua Homebrew trên macOS/Linux với `brew install asc`, dùng install script tại `https://asccli.sh/install`, hoặc tải binary trực tiếp từ GitHub releases. Người dùng Windows có thể cài qua WinGet sau khi package được duyệt. Binary đã release là self-contained, không cần Go toolchain. Muốn build từ source thì làm theo hướng dẫn trong CONTRIBUTING.md và Go version khai báo trong go.mod.
Bắt đầu với các câu lệnh
Xác thực một lần bằng `asc auth login` với App Store Connect API key ID, issuer ID, và đường dẫn private key. Sau đó chạy các câu lệnh như `asc apps list`, `asc builds upload --app APP_ID --ipa ./build.ipa`, hoặc `asc testflight feedback list`. Dùng flag `--output json`, `--output table`, hoặc `--output markdown` để chọn định dạng. Flag `--pretty` cho JSON dễ đọc trên terminal. Chạy `asc --help` để xem toàn bộ cây lệnh, hoặc `asc <command> --help` cho subcommand cụ thể. Chain câu lệnh với workflow bằng `asc workflow run testflight_beta VERSION:1.2.3`. Dùng `--dry-run` để preview trước khi thực thi.
Điểm mạnh
- ✓Gói trọn App Store Connect API vào một binary duy nhất — không cần thêm runtime dependency
- ✓Output JSON mặc định trong non-interactive context giúp tích hợp CI/CD dễ dàng
- ✓Hỗ trợ nhiều domain ngoài builds: screenshots, metadata, certificates, Apple Ads, StoreKit Retention Messaging
- ✓Cài đặt agent skills bổ sung 23 skill đã review cho AI coding assistant tương tác với CLI
- ✓Telemetry opt-out, tài liệu rõ ràng, chỉ thu thập metadata ở cấp câu lệnh và ẩn danh
Những điều cần lưu ý
- △Đây là công cụ không chính thức, do cộng đồng duy trì — Apple không đảm bảo API stability
- △Apple có thể thay đổi API bất cứ lúc nào, workflow hiện tại có thể hỏng mà không có thông báo trước
- △CLI bao phủ diện rộng — mất thời gian hơn để làm quen khi mới bắt đầu
- △Các thao tác hàng loạt cần nhiều API call riêng lẻ, không có batching hay caching layer tích hợp
- △Team dùng trong production phải quản lý App Store Connect API key credentials như secrets — thêm burden vận hành
- △Hỗ trợ đến từ GitHub Discussions và Issues, không phải Apple hay đội ngũ chuyên trách
Các lựa chọn thay thế cho App Store Connect CLI
Những câu hỏi thường gặp
Có, App Store Connect CLI gửi telemetry ở cấp câu lệnh theo mặc định, bao gồm CLI version, OS, architecture, đường dẫn lệnh, thời gian và HTTP status khi thất bại — nhưng không bao giờ gửi arguments thô, credentials, Apple account IDs hay đường dẫn file. Tắt bằng `asc telemetry disable` hoặc biến môi trường `ASC_TELEMETRY_DISABLED=1`.
Dùng `asc auth login` với flag `--bypass-keychain`, cung cấp App Store Connect API key ID, issuer ID và đường dẫn private key. Lưu key file như secret trong CI system của bạn. Muốn credentials nằm trong repo thì thêm `--local` để ghi vào `.asc/config.json`.
Được. Đặt `ASC_DEFAULT_OUTPUT` thành định dạng bạn muốn, hoặc dùng `--output json`, `--output table`, `--output markdown` trên bất kỳ câu lệnh nào. Explicit flag luôn override default.
Không. App Store Connect CLI là công cụ độc lập, do cộng đồng duy trì, không liên kết hay được Apple endorse. Hỗ trợ chỉ đến từ cộng đồng qua GitHub Discussions và Issues.
MIT License. Bạn có thể dùng tự do trong project thương mại lẫn cá nhân, sửa đổi và phân phối theo các điều khoản license.
Transporter là tool upload chính thức của Apple — dùng giao diện kéo thả hoặc đẩy file qua command line, nhưng không hỗ trợ scripting. App Store Connect CLI đi xa hơn: bao phủ toàn bộ App Store Connect API, cho phép viết script quản lý build, metadata, TestFlight, certificates và nhiều thứ khác.
Vấn đề mà nó giải quyết
Phát hành app iOS và macOS đòi hỏi thao tác trên App Store Connect qua trình duyệt — từ upload build, phân phối TestFlight, nộp app, cập nhật metadata, đến upload screenshot. Những việc này chậm, dễ sai sót khi làm tay, và chặn không cho automation trong CI/CD pipeline.
Ai nên thử — và ai nên bỏ qua
Nên dùng App Store Connect CLI khi bạn cần phát hành qua CI, upload TestFlight lặp đi lặp lại, hoặc quản lý metadata bằng script. Công cụ này phù hợp với team đã dùng App Store Connect API key và developer muốn alternative nhẹ hơn fastlane. Bỏ qua nếu bạn chỉ upload build thủ công thỉnh thoảng, chưa có hạ tầng quản lý API key, hoặc thích dùng web interface. Team đang dùng fastlane nên cân nhắc kỹ switching cost trước khi chuyển đổi.
Repo liên quan
Chưa chắc App-Store-Connect-CLI có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về App-Store-Connect-CLI.
