Apps
Apps auflisten
ascelerate apps list
App-Details
ascelerate apps info <bundle-id>
Versionen auflisten
ascelerate apps versions <bundle-id>
apps list, apps info und apps versions akzeptieren alle --json für maschinenlesbare Ausgabe (Konventionen).
Version erstellen
ascelerate apps create-version <bundle-id> <version-string>
ascelerate apps create-version <bundle-id> 2.1.0 --platform ios --release-type manual
Der --release-type ist optional — wird er weggelassen, wird die Einstellung der vorherigen Version verwendet.
Bei Apps mit Universalkauf (ein App Store-Eintrag, der iOS, macOS, tvOS und/oder visionOS umfasst) kann dieselbe Versionsnummer einmal pro Plattform existieren. create-version und review submit verwenden standardmäßig iOS — übergeben Sie --platform macos (oder tvos, visionos), um eine andere Plattform anzusprechen. Alle anderen versionsbezogenen Befehle (Lokalisierungen, Medien, Build-Zuordnung, Review-Preflight/-Informationen/-Anhänge, resolve-issues/cancel-submission, stufenweise Veröffentlichung, manuelle Veröffentlichung) akzeptieren ebenfalls ein optionales --platform; ohne diese Option fragen sie nach, wenn eine Version (oder eine aktive Review-Einreichung) für mehr als eine Plattform existiert — mit --yes brechen sie stattdessen mit einem Hinweis ab.
Copyright
ascelerate apps copyright <bundle-id>
ascelerate apps copyright <bundle-id> --set "2026 Your Name" --version 2.1.0 --platform macos
Ohne --set wird der aktuelle Copyright-Hinweis angezeigt. Wie der Werbetext lässt er sich in jedem Zustand ändern, auch bei einer veröffentlichten Version.
Review
Review-Status prüfen
ascelerate apps review status <bundle-id>
ascelerate apps review status <bundle-id> --version 2.1.0
Mit --json erhalten Sie die Einreichungen — einschließlich der Status der einzelnen Elemente — als maschinenlesbares JSON.
Zur Überprüfung einreichen
ascelerate apps review submit <bundle-id>
ascelerate apps review submit <bundle-id> --version 2.1.0
ascelerate apps review submit <bundle-id> --platform macos
Beim Einreichen erkennt der Befehl automatisch IAPs und Abonnements mit ausstehenden Änderungen und bietet an, diese zusammen mit der App-Version einzureichen. Ausstehende Änderungen werden aus dem Versionsverlauf jedes Produkts gelesen (eine Version im Status „Prepare for Submission“, „Ready for Review“ oder einem abgelehnten Status), sodass auch reine Screenshot-Änderungen erkannt werden. apps review status löst die Einträge aktiver Einreichungen zur App-Version bzw. zum Produkt auf, auf das sie sich beziehen. Außerdem bietet er an, die Game-Center-Erfolge, -Bestenlisten, -Bestenlistengruppen, -Aktivitäten und -Herausforderungen mit Änderungen, die auf die Prüfung warten, hinzuzufügen, und warnt, wenn Game Center für die Version ausgeschaltet ist.
Abgelehnte Elemente lösen
Nach der Behebung von Problemen und der Antwort im Resolution Center:
ascelerate apps review resolve-issues <bundle-id>
Einreichung abbrechen
ascelerate apps review cancel-submission <bundle-id>
App-Review-Informationen
Zeigen oder aktualisieren Sie die Kontaktdaten, das Demo-Konto und die Hinweise für die App-Prüfung. Ohne Flags werden die aktuellen Werte ausgegeben; geben Sie ein Feld-Flag an, um es zu aktualisieren (nicht angegebene Felder bleiben unverändert).
ascelerate apps review info <bundle-id>
ascelerate apps review info <bundle-id> --contact-email du@example.com --demo-account-name reviewer --demo-account-password "hunter2" --demo-account-required true --notes "Testschritte…"
# Anhänge (Demo-Videos, Dokumente usw.)
ascelerate apps review attachment list <bundle-id>
ascelerate apps review attachment upload <bundle-id> demo.mp4
ascelerate apps review attachment delete <attachment-id>
Preflight-Prüfungen
Führen Sie vor dem Einreichen zur Überprüfung preflight aus, um sicherzustellen, dass alle erforderlichen Felder in jeder Sprache ausgefüllt sind:
# Die neueste bearbeitbare Version prüfen
ascelerate apps review preflight <bundle-id>
# Eine bestimmte Version prüfen
ascelerate apps review preflight <bundle-id> --version 2.1.0
Der Befehl prüft den Status und den Build der Version (verarbeitet, mit beantworteter Exportkonformität), das Copyright, den Kontakt und die Anmeldung für die App-Prüfung sowie die primäre Kategorie, die Inhaltsrechte, die Altersfreigabe (jede Frage des Fragebogens beantwortet), den Preis und die Verfügbarkeit der App. Dann geht er jede Sprache durch: App-Info (Name, in der Primärsprache auch die Datenschutzrichtlinien-URL), die Texte der Version (Beschreibung und Schlüsselwörter in jeder Sprache, die Support-URL in der Primärsprache) und Screenshots. Eine Sprache ohne eigene Screenshots zeigt im App Store die der Primärsprache, daher braucht nur die Primärsprache welche:
Preflight checks for MyApp v2.1.0 (Prepare for Submission)
Check Status
──────────────────────────────────────────────────────────────────
Version state ✓ Prepare for Submission
Build attached ✓ Build 42
Copyright ✓ 2026 Your Name
Review contact ✓ Jane Doe, jane@example.com
Sign-in ✓ Not required
Category ✓ Productivity
Content rights ✓ Does Not Use Third Party Content
Age rating ✓ Answered
Price ✓ Set
Availability ✓ 175 territories
en-US (English (United States))
App info ✓ All fields filled
Localizations ✓ All fields filled
Screenshots ✓ 2 sets, 10 screenshots
de-DE (German (Germany))
App info ✓ All fields filled
Localizations ✗ Missing: Keywords, What's New
Screenshots ✓ None (uses en-US's)
──────────────────────────────────────────────────────────────────
Result: 15 passed, 1 failed
Not checked: App Privacy. Its answers must be published in App Store Connect: https://appstoreconnect.apple.com/apps/1234567890/distribution/privacy
App-Datenschutz wird nicht geprüft: Die App Store Connect API hat dafür keine Endpunkte. App Store Connect lehnt eine Einreichung ab, solange die Antworten zum App-Datenschutz nicht veröffentlicht sind; die Textausgabe endet deshalb mit einem Link zu dieser Seite.
In-App-Käufe und Abonnements werden auf Preise und einen Status geprüft, der mit einer Einreichung mitgehen kann. Ein Produkt, das Sie aus dem Verkauf genommen haben (Developer Removed from Sale), wird als übersprungen (–) aufgeführt und lässt die Prüfung nicht fehlschlagen; die Ergebniszeile zählt es gesondert.
Die Neuigkeiten werden nur bei Updates geprüft, also wenn bereits eine Version derselben Plattform veröffentlicht wurde. Eine Veröffentlichung auf einer anderen Plattform zählt nicht: Die erste Mac-Version einer iOS-App braucht keine.
Der Befehl gibt einen Exit-Code ungleich Null zurück, wenn eine Prüfung fehlschlägt — und ist damit geeignet für CI-Pipelines und Workflow-Dateien. Mit --json gibt der Befehl statt der Tabelle einen strukturierten Bericht aus — einen booleschen passed-Wert plus einen Eintrag pro Prüfung (group, name, passed, detail) — und behält dabei das gleiche Exit-Code-Verhalten bei, sodass CI-Gates genau melden können, welche Prüfung fehlgeschlagen ist.
Stufenweise Veröffentlichung
# Status der stufenweisen Veröffentlichung anzeigen
ascelerate apps phased-release <bundle-id>
# Stufenweise Veröffentlichung aktivieren (startet inaktiv, wird aktiv wenn die Version live geht)
ascelerate apps phased-release <bundle-id> --enable
# Eine stufenweise Veröffentlichung pausieren, fortsetzen oder abschließen
ascelerate apps phased-release <bundle-id> --pause
ascelerate apps phased-release <bundle-id> --resume
ascelerate apps phased-release <bundle-id> --complete
# Stufenweise Veröffentlichung vollständig entfernen
ascelerate apps phased-release <bundle-id> --disable
Manuelle Veröffentlichung
Wenn die Veröffentlichungsoption einer Version auf manuell gesetzt ist, verbleibt die genehmigte Version im Status „Pending Developer Release", bis Sie sie veröffentlichen:
# Die Version veröffentlichen, die auf die Freigabe durch den Entwickler wartet
ascelerate apps release <bundle-id>
# Eine bestimmte Version oder Plattform ansteuern
ascelerate apps release <bundle-id> --version 2.1.0 --platform macos
Angaben zur Barrierefreiheit
Der App Store zeigt, welche Bedienungshilfen eine App unterstützt, angegeben pro Gerätefamilie: VoiceOver, Sprachsteuerung, größerer Text, dunkle Benutzeroberfläche, Unterscheidung ohne Farbe, ausreichender Kontrast, reduzierte Bewegung, Untertitel und Audiobeschreibungen.
# Die Angaben (Entwurf oder veröffentlicht) pro Gerätefamilie anzeigen
ascelerate apps accessibility <bundle-id>
# Angeben, was die App auf dem iPhone unterstützt, und veröffentlichen
ascelerate apps accessibility set <bundle-id> --device iphone --supports voiceover,larger-text,dark-interface --publish
# Entwürfe unverändert veröffentlichen
ascelerate apps accessibility publish <bundle-id>
set gibt die vollständige Liste an: Funktionen, die Sie weglassen, gelten als nicht unterstützt (--supports none gibt keine an). Gerätefamilien: iphone, ipad, mac, apple-tv, apple-watch, vision. Ohne --publish bleibt die Angabe ein Entwurf. Wird eine geänderte Angabe veröffentlicht, ersetzt sie die bisher veröffentlichte; --all listet auch ersetzte Angaben auf. Geben Sie nur an, worauf sich Nutzer bei den üblichen Aufgaben in der App verlassen können.
Länderverfügbarkeit
# Anzeigen, in welchen Ländern die App verfügbar ist
ascelerate apps availability <bundle-id>
# Vollständige Ländernamen anzeigen
ascelerate apps availability <bundle-id> --verbose
# Verfügbarkeit in Ländern aktivieren oder deaktivieren
ascelerate apps availability <bundle-id> --add CHN,RUS
ascelerate apps availability <bundle-id> --remove CHN
App-Preise
# Basispreis, manuell festgelegte Preise und geplante Änderungen (--all: alle Länder; --json)
ascelerate apps pricing <bundle-id>
ascelerate apps pricing tiers <bundle-id> --territory USA
# Basispreis, sofort oder ab einem Datum (in der Währung des Basislands; 0 für kostenlos)
ascelerate apps pricing set <bundle-id> --price 0.99
ascelerate apps pricing set <bundle-id> --price 1.99 --start-date 2026-12-01
# Manuelle Preise: ein Land, Apples aktuelle Preise beibehalten oder an Apple zurückgeben
ascelerate apps pricing override <bundle-id> --territory FRA --price 0.99
ascelerate apps pricing keep <bundle-id> --territories all
ascelerate apps pricing remove <bundle-id> --territories FRA,DEU
# Vorübergehende Preisänderung (Rabattaktion) und eine geplante Änderung entfernen
ascelerate apps pricing sale <bundle-id> --territories all --price 0.49 --start-date 2026-12-20 --end-date 2026-12-27
ascelerate apps pricing cancel <bundle-id> --territory USA --start-date 2026-12-01
# Einen Preisplan in eine andere App kopieren (Format von iap pricing export)
ascelerate apps pricing export <bundle-id> --output prices.json
ascelerate apps pricing import <other-bundle-id> --file prices.json
Apple leitet die Preise der anderen Länder vom Basispreis ab und kann sie an Steuer- und Wechselkursänderungen anpassen; ein manuell festgelegter Preis bleibt unverändert. Bei mehreren Ländern nimmt sale den Preis in der Währung des Basislands und gibt den anderen Apples vergleichbare Preise; danach gilt in jedem Land wieder der frühere Preis. import ersetzt den gesamten Preisplan.
Ein Preis, der keine Preisstufe des Ziels ist, lässt den Import fehlschlagen; die Meldung nennt die nächstgelegenen Preisstufen. Mit --snap erhält jeder solche Preis stattdessen die nächstgelegene Preisstufe (bei gleichem Abstand die günstigere), und die angepassten Preise werden vor der Bestätigung aufgelistet.
Verschlüsselungserklärungen
# Bestehende Verschlüsselungserklärungen anzeigen
ascelerate apps encryption <bundle-id>
# Neue Verschlüsselungserklärung erstellen
ascelerate apps encryption <bundle-id> --create --description "Uses HTTPS for API communication"
ascelerate apps encryption <bundle-id> --create --description "Uses AES encryption" --proprietary-crypto --third-party-crypto
# Ein Compliance-Dokument an die neueste Erklärung anhängen (oder an die mit --declaration angegebene)
ascelerate apps encryption <bundle-id> --upload-document approval.pdf
Manche Erklärungen brauchen ein Dokument, das App Store Connect anfordert, etwa eine Exportklassifizierung oder die französische Verschlüsselungserklärung. --upload-document hängt es an die neueste Erklärung an oder an die mit --declaration angegebene (die ID aus der Liste); die Liste zeigt das Dokument jeder Erklärung.
App-Tags
# Die Tags, die Apple der App im App Store gibt, und wo sie erscheinen
ascelerate apps tags <bundle-id> [--json]
# Ein Tag im App Store ausblenden oder wieder einblenden
ascelerate apps tags hide <bundle-id> "Photo Editing"
ascelerate apps tags show <bundle-id> "Photo Editing"
Die Tags einer App wählt Apple; Sie können jedes davon über seinen Namen oder seine ID aus- oder wieder einblenden.
EULA
# Aktuelle EULA anzeigen (oder sehen, dass die Standard-Apple-EULA gilt)
ascelerate apps eula <bundle-id>
# Benutzerdefinierte EULA aus einer Textdatei setzen
ascelerate apps eula <bundle-id> --file eula.txt
# Benutzerdefinierte EULA entfernen (kehrt zur Standard-Apple-EULA zurück)
ascelerate apps eula <bundle-id> --delete
Abonnement-Kulanzzeitraum
Der Kulanzzeitraum ermöglicht es Abonnenten, nach einer fehlgeschlagenen Verlängerungszahlung für eine kurze Zeit Zugriff zu behalten, während Apple die Abrechnung erneut versucht. Die Einstellung gilt für die gesamte App.
# Aktuelle Konfiguration anzeigen
ascelerate apps subscription-grace-period <bundle-id>
# Für die Produktion mit 16 Tagen aktivieren, gilt für alle Verlängerungen
ascelerate apps subscription-grace-period <bundle-id> \
--opt-in true --duration SIXTEEN_DAYS --renewal-type ALL_RENEWALS
# Nur für Sandbox-Tests (Produktion bleibt aus)
ascelerate apps subscription-grace-period <bundle-id> \
--sandbox-opt-in true --duration THREE_DAYS --renewal-type ALL_RENEWALS
Gültige --duration-Werte: THREE_DAYS, SIXTEEN_DAYS, TWENTY_EIGHT_DAYS. Gültige --renewal-type-Werte: ALL_RENEWALS, PAID_TO_PAID_ONLY.
Die Produktion kann nicht ohne Sandbox aktiv sein: --opt-in aktiviert auch die Sandbox, mit 16 Tagen für alle Verlängerungen, sofern nichts anderes angegeben ist. Werden beide deaktiviert, werden Dauer und Verlängerungsart gelöscht.
Optimierter Kauf (Streamlined Purchasing)
Mit dem optimierten Kauf können Kunden die Abonnements der App auch außerhalb der App kaufen, etwa auf ihrer App Store-Produktseite. Er ist standardmäßig aktiviert und gilt für alle Abonnements der App. Apple lässt ihn nur deaktivieren, wenn der zuletzt genehmigte Build der App die StoreKit-API PurchaseIntent verwendet; Kunden schließen das Abonnement dann in der App ab.
# Anzeigen
ascelerate apps streamlined-purchasing <bundle-id>
# Deaktivieren
ascelerate apps streamlined-purchasing <bundle-id> --enabled false