Stop met het Openen van App Store Connect in de Browser en Automatiseer Alles vanuit de Terminal
Iedereen die ooit een app naar de App Store heeft geüpload, kent deze frustratie. De App Store Connect-webinterface bevriest graag, vraagt op het meest ongelegen moment om opnieuw te authenticeren, en dwingt je om te klikken voor iets eenvoudigs als het toevoegen van een build aan TestFlight.
Onlangs stuitte ik op het asc-hulpprogramma (App Store Connect CLI). Het is een op Go gebaseerde console-tool die specifiek is gemaakt om de browser te verwijderen uit iOS- en macOS-app-publicatieroutines.
Wat asc is
Het project is geschreven in Go, gedistribueerd als een enkel binair bestand, en werkt op macOS, Linux en Windows. Het belangrijkste voordeel is dat de tool vanaf het begin is ontworpen zonder interactieve prompts. Het heeft geen Enter-toetsbevestiging nodig, tenzij je daar specifiek om vraagt. Dit maakt het handig voor scripts en pipelines in CI/CD.
Het uitvoerformaat past zich aan de omgeving aan. Als je commando's in de terminal uitvoert, tekent het hulpprogramma tabellen. Als het resultaat naar een pipe of bestand gaat, voert het schone JSON uit.
Belangrijkste functies in de praktijk
Het hulpprogramma dekt bijna alle taken waarvoor je vroeger naar de Apple-website moest gaan.
Builds uploaden en werken met TestFlight
Het uploaden van een .ipa- of .pkg-bestand wordt gedaan met een enkel commando:
asc builds upload --app "123456789" --ipa "/path/to/MyApp.ipa"
Daarna kun je de build direct aan testers koppelen. Voor teams die voor macOS bouwen, is er ondersteuning voor een keten met het uploaden van de .pkg en het toevoegen van de versie aan de interne testersgroep:
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"
Je kunt crashlogs en gebruikersfeedback van TestFlight rechtstreeks vanuit de console lezen.
Metadata en ASO beheren
Als een app in meerdere talen is gelokaliseerd, wordt het bijwerken van beschrijvingen via de webinterface vervelend. Het hulpprogramma exporteert localisaties naar een lokale map, laat je ze bewerken en past vervolgens de wijzigingen toe:
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
Voor ASO-optimalisatie is er het asc metadata keywords audit-commando. Het controleert op dubbele trefwoorden, herhalingen tussen locales, conflicten met de appnaam en byte-overschrijdingen.
Werken met schermafbeeldingen
Schermafbeeldingen kunnen in batches worden geüpload vanuit mappen, met opgave van het vereiste apparaattype:
asc screenshots upload --version-localization "LOCALIZATION_ID" --path "./screenshots/en-US" --device-type "IPHONE_65" --replace
Autorisatie zonder pijn in CI/CD
In een lokale omgeving kan het hulpprogramma sleutels opslaan in de systeem Keychain. Maar op CI-servers (GitHub Actions, GitLab CI, Bitrise) is Keychain vaak niet beschikbaar. De ontwikkelaars hebben de --bypass-keychain-vlag en configuratieladen uit een bestand of omgevingsvariabelen voorzien:
asc auth login \
--bypass-keychain \
--name "MyCIKey" \
--key-id "ABC123" \
--issuer-id "DEF456" \
--private-key /path/to/AuthKey.p8
Je kunt verifiëren dat je sleutels geldig zijn voordat je een lange build start met een speciaal validatiecommando:
asc auth doctor
Is het de moeite waard om te adopteren
Als je één app één keer per jaar uitbrengt, zijn Apple's webpanelen misschien voldoende. Maar voor regelmatige releases, werken met meerdere localisaties of het bouwen van transparante CI/CD, bespaart het hulpprogramma uren werk.
Het project wordt actief ontwikkeld, ontvangt positieve feedback van mobiele ontwikkelaars en integreert gemakkelijk in bestaande shell-scripts.
Gerelateerde projecten