>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Go

So stoppen Sie das Öffnen von App Store Connect im Web und automatisieren alles vom Terminal aus

Jeder, der jemals eine App im App Store bereitgestellt hat, kennt diesen Schmerz. Die App Store Connect-Weboberfläche friert gerne ein, verlangt genau im ungünstigsten Moment eine erneute Authentifizierung und zwingt Sie, für etwas so Einfaches wie das Hinzufügen eines Builds zu TestFlight die Maus zu klicken.

Kürzlich bin ich auf das asc-Tool (App Store Connect CLI) gestoßen. Es ist ein Go-basiertes Konsolentool, das speziell entwickelt wurde, um den Browser aus den iOS- und macOS-App-Veröffentlichungsroutinen zu entfernen.

Was asc ist

Das Projekt ist in Go geschrieben, wird als einzelne Binärdatei verteilt und funktioniert auf macOS, Linux und Windows. Der Hauptvorteil ist, dass das Tool von Anfang an ohne interaktive Eingabeaufforderungen konzipiert wurde. Es benötigt keine Enter-Taste-Bestätigung, es sei denn, Sie fordern sie explizit an. Dies macht es praktisch für Skripte und Pipelines in CI/CD.

Das Ausgabeformat passt sich der Umgebung an. Wenn Sie Befehle im Terminal ausführen, zeichnet das Tool Tabellen. Wenn das Ergebnis in eine Pipe oder Datei geleitet wird, gibt es sauberes JSON aus.

asc -- App Store Connect CLI

Hauptfunktionen in der Praxis

Das Tool deckt nahezu alle Aufgaben ab, für die Sie früher die Apple-Website aufrufen mussten.

Builds hochladen und mit TestFlight arbeiten

Das Hochladen einer .ipa- oder .pkg-Datei erfolgt mit einem einzigen Befehl:

asc builds upload --app "123456789" --ipa "/path/to/MyApp.ipa"

Danach können Sie den Build sofort an Tester anhängen. Für Teams, die für macOS entwickeln, gibt es Unterstützung für eine Kette mit dem Hochladen der .pkg und dem Hinzufügen der Version zur internen Tester-Gruppe:

asc builds upload --app "123456789" --pkg "./build/MyMacApp.pkg" --version "1.2.3" --build-number "42" --wait --output json
asc builds add-groups --app "123456789" --build-number "42" --version "1.2.3" --platform MAC_OS --group "Internal Testers"

Sie können Absturzprotokolle und Benutzerfeedback von TestFlight direkt von der Konsole aus lesen.

Metadaten und ASO verwalten

Wenn eine App in mehreren Sprachen lokalisiert ist, wird das Aktualisieren von Beschreibungen über die Weboberfläche mühsam. Das Tool exportiert Lokalisierungen in ein lokales Verzeichnis, ermöglicht Ihnen, sie zu bearbeiten, und wendet dann die Änderungen zurück an:

asc metadata init --dir "./metadata" --version "1.2.3" --locale "en-US"
asc metadata apply --app "123456789" --version "1.2.3" --dir "./metadata" --dry-run

Für die ASO-Optimierung gibt es den Befehl asc metadata keywords audit. Er prüft auf doppelte Schlüsselwörter, Wiederholungen über Gebietsschemata hinweg, Konflikte mit dem App-Namen und Byte-Überschreitungen.

Mit Screenshots arbeiten

Screenshots können stapelweise aus Ordnern hochgeladen werden, wobei der erforderliche Gerätetyp angegeben wird:

asc screenshots upload --version-localization "LOCALIZATION_ID" --path "./screenshots/en-US" --device-type "IPHONE_65" --replace

Autorisierung ohne Schmerzen in CI/CD

In einer lokalen Umgebung kann das Tool Schlüssel im System-Keychain speichern. Aber auf CI-Servern (GitHub Actions, GitLab CI, Bitrise) ist der Keychain oft nicht verfügbar. Die Entwickler haben das Flag --bypass-keychain und das Laden der Konfiguration aus einer Datei oder Umgebungsvariablen bereitgestellt:

asc auth login \
  --bypass-keychain \
  --name "MyCIKey" \
  --key-id "ABC123" \
  --issuer-id "DEF456" \
  --private-key /path/to/AuthKey.p8

Sie können überprüfen, ob Ihre Schlüssel gültig sind, bevor Sie einen langen Build starten, mit einem speziellen Validierungsbefehl:

asc auth doctor

Lohnt es sich, es zu übernehmen

Wenn Sie einmal im Jahr eine App veröffentlichen, können Apples Web-Panels ausreichen. Aber für regelmäßige Veröffentlichungen, die Arbeit mit mehreren Lokalisierungen oder den Aufbau transparenter CI/CD spart das Tool stundenlange Arbeit.

Das Projekt wird aktiv weiterentwickelt, erhält positives Feedback von Mobile-Entwicklern und lässt sich problemlos in bestehende Shell-Skripte integrieren.

Ähnliche Projekte