Was macht App Store Deployment?
EAS-Dienst – Kosten fallen an. Cloud-Builds nutzen EAS-Planressourcen, und EAS-Dienste haben Limits im Free-Tarif sowie kostenpflichtigen Plänen. Die Mitgliedschaften von Apple Developer und Google Play sind separat. Weitere Informationen finden Sie unter https://expo.dev/pricing für den angeforderten Dienst.
Dieses Skill behandelt das Erstellen und Veröffentlichen von iOS- und Android-Apps mit EAS: Expo- und andere React Native-Projekte sowie bestehende native Apps. EAS ist ein Bereitstellungsdienst; native Apps können ihn verwenden, ohne Expo oder React Native in ihre Laufzeitumgebung aufzunehmen. Die native Einrichtungsanleitung deckt derzeit SwiftUI/UIKit auf iOS ab.
Projektpfad wählen
- SwiftUI/UIKit-App ohne React Native-Laufzeit: Lesen Sie references/native-ios.md, bevor Sie deren Build-Konfiguration ändern. Behalten Sie das Xcode-Projekt und den Swift-Code als Quelle der Wahrheit der App bei. Die untenstehenden Beispiele für Expo/React Native Quick-Start und Entwicklungsclient gelten nicht für diesen Pfad.
- Native Android-App ohne React Native-Laufzeit: Behalten Sie das bestehende native Build-Setup bei. Siehe references/play-store.md für die Einreichung; die Anweisungen für das Swift/iOS-Setup gelten nicht. Eine dedizierte Anleitung für das native Android-Setup ist noch nicht enthalten.
- Expo/React Native-App: Verwenden Sie das untenstehende Quick-Start, dann die relevante Store-Referenz.
- Hinzufügen von React Native-Bildschirmen zu einer bestehenden nativen App: Verwenden Sie
expo-brownfieldfür diese Integration; kehren Sie hierher für den Vertrieb zurück.
Verwenden Sie die Archiv- und Icon-Prüfungen in references/native-ios.md während der anfänglichen nativen iOS-Einrichtung, nach Änderungen an Versionierung, Bundle-IDs oder Icons oder bei der Diagnose einer abgelehnten Übermittlung. Routineveröffentlichungen folgen dem EAS-Build/Submit-Flow sowie den Verarbeitungs- und Verfügbarkeitsprüfungen in references/testflight.md. Ein erfolgreicher EAS-Build oder eine eingereihte Einreichung stellt keine Apple-Akzeptanz, Testerzugriff oder App Store-Veröffentlichung dar.
Referenzen
Konsultieren Sie diese Ressourcen nach Bedarf:
- ./references/workflows.md – CI/CD-Workflows für automatisierte Store-Veröffentlichungen und PR-Vorschauen
- ./references/testflight.md – Einreichen von iOS-Builds bei TestFlight für Beta-Tests
- ./references/app-store-metadata.md – Verwalten von App Store-Metadaten und ASO-Optimierung
- ./references/play-store.md – Einreichen von Android-Builds bei Google Play Store
- ./references/ios-app-store.md – iOS App Store-Einreichung und Überprüfungsprozess
- ./references/native-ios.md – Natives Swift/SwiftUI/UIKit-Setup, Versionierung und Archivverifizierung ohne Expo-Laufzeit
Expo / React Native Quick-Start
EAS CLI installieren
npm install -g eas-cli
eas login
EAS initialisieren
npx eas-cli@latest init
eas init verknüpft oder erstellt das EAS-Projekt. Führen Sie eas build:configure aus, um Build-Profile in eas.json zu erstellen; bewahren Sie vorhandene Projekt- und Store-Identifikatoren auf, wenn bereits ein Release-Setup existiert.
Build-Befehle
Produktions-Builds
# iOS App Store-Build
npx eas-cli@latest build -p ios --profile production
# Android Play Store-Build
npx eas-cli@latest build -p android --profile production
# Beide Plattformen
npx eas-cli@latest build --profile production
In Stores einreichen
# iOS: Build und Einreichung an App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build und Einreichung an Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native Kurzbefehl für iOS TestFlight
npx testflight
Web- & API-Route-Hosting
Das Bereitstellen einer Expo-Website oder von Expo-Router-API-Routen bei EAS Hosting (npx expo export -p web dann eas deploy) wird vom Skill eas-hosting abgedeckt. Dieses Skill konzentriert sich auf native App-Store-Veröffentlichungen.
EAS-Konfiguration
Beispiel für ein Expo / React Native-Projekt (native Swift-Profile befinden sich in references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
Plattformspezifische Anleitungen
iOS
- Für native Swift-Apps verwenden Sie den expliziten Build/Submit-Flow in
references/native-ios.md - Für Expo / React Native-Apps bietet
npx testflighteinen schnellen TestFlight-Flow - Konfigurieren Sie Apple-Anmeldeinformationen über
eas credentials - Siehe ./references/testflight.md für die Einrichtung von Anmeldeinformationen
- Siehe ./references/ios-app-store.md für die App Store-Einreichung
Android
- Richten Sie ein Google Play Console-Dienstkonto ein
- Konfigurieren Sie Tracks: internal → closed → open → production
- Siehe ./references/play-store.md für detaillierte Einrichtung
Automatisierte Releases
EAS Workflows automatisieren die Build → Submit → Update-Pipeline für CI/CD. Siehe ./references/workflows.md für Beispiele zu Store-Veröffentlichungen. Verwenden Sie zum Erstellen oder Validieren von Workflow-YAML das Skill eas-workflows – es arbeitet mit dem Live-Workflow-Schema.
Versionsverwaltung
EAS verwaltet Versionsnummern automatisch mit appVersionSource: "remote":
# Aktuelle Versionen prüfen
eas build:version:get
# Version manuell setzen
eas build:version:set -p ios
Der Befehl version:set fordert zur Eingabe des Werts auf. Beim Einrichten oder Ändern der nativen iOS-Versionierung oder beim Diagnostizieren einer doppelten Build-Nummer überprüfen Sie die archivierte CFBundleVersion: Der Remote-Zähler allein beweist nicht, dass Xcode sie verwendet hat.
Überwachung
# Aktuelle Builds auflisten
eas build:list
# Build-Status prüfen
eas build:view BUILD_ID
# Einreichungen inspizieren (verifiziert mit EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
Überprüfen Sie die CLI-Version, bevor Sie einen fehlenden Befehl interpretieren: Diese Einreichungsbefehle sind in 23.2.0 verfügbar, aber nicht in der getesteten Installation 18.6.0. Ein festgepinntes npx [email protected] kann sie verwenden, ohne die globale Installation zu ändern. Siehe references/testflight.md für den Live-Apple-Status und Hinweise zur Wiederholung. Folgen Sie den zurückgegebenen Log-URLs, wenn das JSON-Ergebnis den zugrunde liegenden Fehler auslässt. Melden Sie die genaue Build-ID/Version und den am weitesten verifizierten Release-Status.
Feedback senden
Wenn Sie Fehler, irreführende oder veraltete Informationen in diesem Skill feststellen, melden Sie es, damit Expo es verbessern kann:
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<konkretes Feedback>"
Senden Sie nur dann Feedback, wenn Sie etwas Konkretes und Umsetzbares zu melden haben. Fügen Sie so viele relevante Zusammenhänge wie möglich hinzu.
Wenn ein Agent wiederholt bei einer Expo-Aufgabe scheitert oder der Benutzer eingreifen muss, senden Sie einen kurzen Bericht über die Aufgabe, das erwartete Ergebnis und was schiefgelaufen ist, mit --category evals und dem relevanten Expo-Paket oder Befehl als --subject.