A utility for mac written in swift to generate app size graphs using the AppStoreConnectAPI

⚖️ Steelyard

Overview

Steelyard is a utility for generating graphs related to app size evolution.


Installation

Homebrew (Recommended)

To install Steelyard using Homebrew, run the following command:

brew install mcrollin/steelyard/steelyard

Mint

To install using Mint, run:

mint install mcrollin/Steelyard

Manual Installation

Alternatively, you can manually build the tool:

swift build -c release --disable-sandbox --product steelyard

Or run it:

swift run steelyard

Prerequisites

To use Steelyard, you’ll need to provide several details that are obtained via Apple’s Developer Portal.

Follow the following steps to create an API key and retrieve the necessary information.

Step 1: Create an API Key

  1. Go to App Store Connect > Users and Access > Keys > App Store Connect API.
  2. Click the + button to create a new key.
  3. Give the key a name, select Developer (or higher) access role and generate it.
  4. Download the generated .p8 file.

Note: Store this file in a secure place, as you won’t be able to download it again.

Step 2: Retrieve Key and Issuer IDs

  1. In the list, find your key, hover over the Key ID and tap on the Copy Key ID button.
  2. The Issuer ID with a Copy button is available right above the list of keys, under the Users and Access section.

Step 3: Locate Private Key Path

The Private Key Path is the location where you’ve stored the downloaded .p8 file.

Step 4: Find Your App ID

The App ID can be found in the App Store Connect > Apps > General > App Information > General Information > Apple ID.


Commands

Generate a Graph

To generate a graph, you need to provide several arguments like key-id, issuer-id, private-key-path, and app-id. The command format is as follows:

USAGE: steelyard graph <key-id> <issuer-id> <private-key-path> <app-id> [--verbose] [--open-output] [--limit <limit>] [--reference-device-identifier <reference-device-identifier>]

ARGUMENTS:
  <key-id>                The key ID from the Apple Developer portal.
  <issuer-id>             The issuer ID from the App Store Connect organization.
  <private-key-path>      The path to the .p8 private key file.
  <app-id>                The App ID.

OPTIONS:
  -v, --verbose           Display all information messages.
  -o, --open-output       Open the result graphs.
  -l, --limit <limit>     The number of builds to process, between 0 and 200. (default: 30)
  --reference-device-identifier <reference-device-identifier>
                          The reference device to highlight in the charts. (default: iPhone12,1)
  -h, --help              Show help information.

For more information, run:

steelyard graph --help

License

This project is licensed under the MIT License.

GitHub

View Github