mrkeyoor.com_
Mon 09 Nov 10:34 UTC
Automationevaluationupdated 31 Oct 2026

App-Store-Connect-CLI review

Consider App Store Connect CLI (`asc`) if you want scriptable Apple release workflows, but verify your release path before adopting it: our run on October 2, 2026, at commit 8ba978a ended with a nonzero test exit. App Store Connect CLI automates App Store Connect workflows from a terminal or CI pipeline. It is an independent, unofficial tool; our sandbox did not verify an authenticated Apple release.

+67stars / 7d
Verdict

App Store Connect CLI is worth evaluating for command-driven Apple release work, with a workflow-specific acceptance check before adoption. Our run on October 2, 2026, at commit 8ba978a had successful install and build steps but a failing test step. The stored package summaries and retained failures provide reasons to investigate; they do not establish authenticated release reliability. Choose fastlane for its documented iOS and Android automation scope, or the Swift SDK when App Store Connect calls belong inside Swift code.

We ran it

Lab card: what happened when we ran App-Store-Connect-CLIScreenshot of App-Store-Connect-CLI (asccli.sh)
Install✓ · 57s144 packages
Build✓ · 156s
Tests✗ · 721s90 passed · 8 failed of 98 (go test)
Repo3417 files~1,081,137 lines of source · 50.7 MB · 9 CI workflows

Answers from our run

Does App-Store-Connect-CLI build from source?

Dependencies installed in 57 seconds (144 packages), and the build succeeded in 156 seconds. We cloned commit 8ba978a into a clean Debian container with 3 CPUs and no project-specific setup.

Do App-Store-Connect-CLI's tests pass?

No. The project's own test command finished in 721 seconds and reported 90 passed, 8 failed (go test).

Who should not use App-Store-Connect-CLI?

Teams requiring an official Apple-supported client.

What are the alternatives to App-Store-Connect-CLI?

fastlane, App Store Connect Swift SDK, Bitrise CLI. App Store Connect CLI is worth evaluating for command-driven Apple release work, with a workflow-specific acceptance check before adoption.

Setup4/5Self-contained binaries and documented headless authentication support setup; our source install succeeded, but credential setup was not tested.
Docs5/5The supplied guides explain authentication variants, output behavior, publishing workflows, signing boundaries and opt-in integration tests.
CommunityN/AThe supplied primary extracts do not establish current contributor participation, issue response times or support responsiveness.
Maturity4/5Broad documented workflows and explicit operational controls support this assessment, qualified by our failing source-test step and untested authenticated release path.

Who it’s for

Apple release teams that want commands for TestFlight, metadata, signing assets and submissions.
CI maintainers who want explicit JSON output and documented authentication checks.
Teams prepared to validate their own upload and distribution workflow with Apple credentials before relying on it.

Who it’s NOT for

Teams requiring an official Apple-supported client.
Operators who require telemetry to be disabled without configuration: the README says command-level telemetry is enabled by default.
Teams treating a successful Linux build check as proof that Xcode, signing or App Store submission works.
Teams requiring a clean source-test result before evaluation: our recorded test command exited 1.

Setup reality

Our sandbox recorded our run on October 2, 2026, at commit 8ba978a. Installation returned exit 0 after 57 seconds, the build step returned exit 0 after 156 seconds, and the test step returned exit 1 after 721 seconds. These are the attached harness values, not a new execution.

The stored parser summaries report 90 passed, 8 failed and 98 total. The raw measurement identifies the successful and failing entries as packages. These figures do not establish an exhaustive count of unique individual tests; the record also lists 10 packages without tests separately.

Released binaries do not require Go. Authentication needs an Apple API key and private key; individual keys omit the issuer ID, while the documented team-key setup includes it. Headless environments can bypass the keychain and use config-backed authentication. Neither credentials nor an authenticated release workload were tested in our sandbox.

What our run establishes

Our run on October 2, 2026, checked commit 8ba978a in our sandbox. Installation returned exit 0 after 57 seconds, the build step returned exit 0 after 156 seconds, and the test step returned exit 1 after 721 seconds. The recorded environment was golang:1.24-bookworm with 3 CPUs and 8 GB of memory; the install tail records a download of Go 1.26.6.

Our harness stores each step's outcome, exit code, elapsed time, timeout status and log tail, alongside parsed summaries. None of these steps timed out. The build tail says vet-exit:0; a zero exit establishes that the recorded step succeeded, without establishing that a release workload ran. The testing-methodology page explains the publisher's recording approach and its limits. Its current text does not establish which methodology version governed this older run.

The stored parser summaries report 90 passed, 8 failed and 98 total. In the raw measurement, these correspond to package outcomes, with 10 packages without tests recorded separately. They are not verified exhaustive counts of unique individual tests. No complete-log reconciliation or new execution accompanied this correction.

The failures need investigation before adoption

The retained tail names TestAcquireMatrixSimulatorLockUsesStableNamespaceAcrossHomeDirs in the screenshots package and TestSpoolConcurrentProcessWriters in telemetry. The telemetry output says a writer exited with status 1. It also lists numerous failures in the web package involving session persistence, keychain and file fallback, deletion, and concurrent account storage.

Those named failures are individual log entries, separate from the stored package summaries. The tail is incomplete, so it cannot identify every failing package or establish a common cause. It records the Xcode package as successful; it does not show the descendant-output-pipe failure described in the earlier page.

This was a source check, without Apple credentials. It did not authenticate to Apple, upload a build, submit an app or establish that local Xcode compilation and signing worked. The contribution guide says live App Store Connect integration tests are opt-in and skipped by default. A skipped integration test is not a failed test. No audit result is attached, and scan coverage is unknown.

Where the CLI fits

App Store Connect CLI automates App Store Connect workflows from a terminal or CI pipeline. The supplied README documents TestFlight distribution, metadata changes, screenshots, signing assets and submission commands. These are documented capabilities, rather than release operations verified by our sandbox.

Output defaults to tables in an interactive terminal and JSON in pipes, files and CI. Set the output format explicitly in automation so a local preference cannot change what a script receives. The documentation also separates high-level publishing commands from user-defined workflow orchestration.

The workflow guide describes a local Xcode-to-TestFlight sequence and says manual signing resolution is Darwin-only because it inspects local identities and provisioning profiles. The current README also points to a separate Linux iOS build workflow using xtool and rcodesign. That prevents a blanket claim that every local iOS build path requires macOS, but neither path was validated by our run. Native simulator execution still requires a Mac host according to the README.

Authentication and telemetry are setup decisions

Released binaries are self-contained. For authentication, distinguish team API keys from individual API keys: the README explicitly says individual keys have no issuer ID. It documents config-backed login for headless workers, plus authentication validation and diagnostic commands. Keep private keys out of the repository.

The README says pseudonymous command-level telemetry is enabled by default and documents controls to disable it. Decide that policy before adding the CLI to CI. Apple Ads and StoreKit credentials have separate documented requirements, so an App Store Connect login should not be treated as universal authentication across the command tree.

The commit-specific README describes 25 installed agent skills pinned to a reviewed commit, rather than the 23 previously stated here. Pack verification and rollback are documented installation behavior, not proof that an agent will select the correct app, build or submission. Review the target and proposed changes before authorizing release mutations.

Choose alternatives by the work you need

fastlane automates iOS and Android tasks including screenshots, provisioning profiles and releases. Choose it when that shared mobile automation scope matches your pipeline. The supplied extract does not establish that it is slower, harder to install or less suitable for Apple releases than asc.

App Store Connect Swift SDK provides Swift access to Apple's App Store Connect API. Choose it when the API calls belong inside a Swift application rather than a shell workflow. Its README contains conflicting statements about endpoint completeness, so check the specific endpoint you need instead of assuming full coverage.

Bitrise CLI runs steps defined in bitrise.yml and can run CI workflows locally. Its role is workflow execution rather than a direct replacement for App Store Connect commands. It can complement a release tool; choose it when your decision concerns how to run Bitrise workflows.

How to interpret the ratings

Assessed dimensions use a five-point editorial rubric: 1 means substantial documented obstacles, 2 means material gaps, 3 means usable with explicit constraints, 4 means strong documented support with remaining validation work, and 5 means unusually complete support within the assessed scope. These are judgments, not benchmarks. Setup considers installation and authentication; docs considers actionable setup and workflow guidance; maturity considers operational evidence and unresolved failures. Community remains unassessed because the supplied primary extracts do not establish current participation or support responsiveness.

A useful next step

Evaluate one workflow you actually need. Check the pinned binary's help, validate authentication in your intended environment, inspect the available dry run, and then test the exact artifact, signing and distribution path with controlled credentials. Our failed source-test step is a reason to investigate the relevant packages before adoption. It cannot establish whether your particular release will succeed.

Alternatives

ProjectWhat it isPick it when
fastlane gh↗Automation for iOS and Android tasks including screenshots, provisioning profiles and releases.Choose it when you need the documented iOS and Android automation scope in your release pipeline.
App Store Connect Swift SDKA Swift SDK for Apple's App Store Connect API.Choose it when API access belongs inside a Swift program; verify the required endpoints before committing.
Bitrise CLIThe workflow runner that executes steps defined in bitrise.yml.Choose it to execute Bitrise workflows locally or on build machines. It can complement an App Store release CLI.

What people are saying

  1. [github-trending] rorkai/App-Store-Connect-CLI

Sources

  1. App Store Connect CLI README
  2. App Store Connect CLI workflow guide
  3. App Store Connect CLI contribution guide
  4. Release 4.9.3
  5. Issue 2190: Support URL validation
  6. ASC CLI skills

More automation reviews

spotify-downloader · bbot · switch · Horizon · ai-goofish-monitor · agent-desktop · the whole board →