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.
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