App Store Connect Eintrag erstellen und pflegen: React Native Guide
AI generated
RN
native
React Native · Expo · App Store Connect · iOS Release
App Store Connect Eintrag erstellen und pflegen
für React Native und Expo Apps

Ein sauberer App Store Connect Eintrag entscheidet über Auffindbarkeit, Review-Erfolg und Vertrauen der Nutzer, lange bevor der erste Build hochgeladen wird. Von der Bundle-ID-Registrierung über Screenshots und Privacy-Label bis zur automatisierten Pflege mit eas submit – dieser Guide zeigt den vollständigen Ablauf für React Native und Expo Apps.

18 Min. Lesezeit Bundle ID · Screenshots · Privacy-Label · TestFlight · eas submit Expo SDK 51+ · iOS 17+ · App Store Connect API

1. Bundle ID und App ID im Apple Developer Portal registrieren

Bevor überhaupt ein App Store Connect Eintrag angelegt werden kann, braucht die App eine eindeutige Bundle ID im Apple Developer Portal. Unter developer.apple.com, im Bereich "Certificates, Identifiers & Profiles" > "Identifiers", wird ein neuer App ID im Reverse-DNS-Format registriert, zum Beispiel de.mironsoft.appname. Diese Bundle ID muss exakt mit dem Wert unter expo.ios.bundleIdentifier in app.json beziehungsweise app.config.js übereinstimmen, sonst schlägt spätestens der Build oder der Submit-Schritt fehl.

Beim Anlegen der App ID werden auch die Capabilities festgelegt, also welche Systemfunktionen die App nutzen darf: Push Notifications für expo-notifications, Associated Domains für Universal Links und Deep Linking, In-App Purchase bei Abo-Modellen über RevenueCat oder StoreKit. Diese Auswahl ist keine reine Formalität, denn sie muss später exakt zu den Capabilities passen, die im Xcode-Projekt beziehungsweise im Expo-Build-Profil aktiviert sind. Eine fehlende Capability führt zu einer Ablehnung schon vor der eigentlichen Review, eine überflüssige Capability kann bei sensiblen Bereichen wie Push Notifications zusätzliche Rückfragen im App Store Connect Eintrag selbst auslösen.

Wer eas build nutzt, kann die Bundle-ID-Registrierung über eas credentials weitgehend automatisiert im Terminal erledigen, ohne das Developer Portal manuell zu öffnen. Trotzdem lohnt sich das Verständnis der zugrunde liegenden Struktur, denn spätere Änderungen, etwa das Nachrüsten von Sign in with Apple, erfordern eine Anpassung der App ID im Portal und eine passende Aktualisierung im App Store Connect Eintrag selbst.


// app.config.js — metadata that must match the App ID in Apple Developer Portal
export default {
  expo: {
    name: "Mironsoft Demo",
    slug: "mironsoft-demo",
    version: "2.4.0",
    ios: {
      // Must exactly match the App ID registered in the Apple Developer Portal
      bundleIdentifier: "de.mironsoft.appname",
      buildNumber: "17",
      supportsTablet: true,
    },
    android: {
      package: "de.mironsoft.appname",
      versionCode: 17,
    },
  },
};

2. Den App Store Connect Eintrag anlegen: App-Informationen ausfüllen

Sobald die Bundle ID existiert, wird in App Store Connect unter "Meine Apps" per Plus-Symbol eine neue App angelegt. Gefragt werden Plattform (iOS), Name mit maximal 30 Zeichen, primäre Sprache, die zuvor registrierte Bundle ID aus dem Dropdown sowie eine interne SKU, die niemals öffentlich sichtbar ist. Dieser Schritt erzeugt den eigentlichen App Store Connect Eintrag als zentralen Datensatz, in dem später Metadaten, Builds, Preisregeln und alle TestFlight-Gruppen zusammenlaufen.

Im Tab "App-Informationen" folgen die wichtigsten strukturellen Felder: der Untertitel mit 30 Zeichen, der direkt unter dem Namen in Suchergebnissen erscheint, die primäre und optional sekundäre Kategorie, eine Angabe zu Content Rights bei Drittanbieter-Inhalten sowie der Age-Rating-Fragebogen. Der Fragebogen fragt konkret nach Gewaltdarstellungen, Glücksspielsimulationen, nutzergenerierten Inhalten und Chat-Funktionen ab. Falsche Angaben führen entweder zu einer zu niedrigen Alterseinstufung, die später korrigiert werden muss, oder zu einer unnötig hohen Einstufung, die Downloads in bestimmten Zielgruppen einschränkt.

Kategorie und Untertitel sollten sich klar unterscheiden vom Keyword-Feld, das erst später im ASO-Kontext relevant wird. Die Kategoriewahl beeinflusst zusätzlich, in welchen Charts die App auftaucht und welche ähnlichen Apps Nutzern als Empfehlung angezeigt werden – ein Effekt, der beim Anlegen des App Store Connect Eintrags häufig unterschätzt wird.

3. Screenshots für alle Gerätegrößenklassen vorbereiten

Apple verlangt Screenshots in mehreren festen Gerätegrößenklassen, ohne die sich keine Version zur Prüfung einreichen lässt: die 6.9-Zoll-Klasse für iPhone 16 Pro Max mit 1320 mal 2868 Pixeln, die 6.5- beziehungsweise 6.7-Zoll-Klasse für ältere und aktuelle Standardgrößen sowie bei Universal Apps die 13-Zoll-iPad-Klasse mit 2064 mal 2752 Pixeln. Mindestens ein Screenshot pro Pflichtklasse ist im App Store Connect Eintrag ein Blocker-Feld, ohne das der Einreichungs-Button ausgegraut bleibt.

In der Praxis lohnt es sich nicht, jede Gerätekategorie einzeln manuell zu bespielen. Mit xcrun simctl lassen sich Screenshots auf den größten unterstützten Simulatoren erzeugen, aus denen Apple für einige ältere Größenklassen automatisch herunterskalierte Varianten akzeptiert. Für React Native Projekte bietet sich fastlane snapshot in Kombination mit Detox oder Maestro an, um Screenshots direkt aus echten App-Zuständen statt aus reinen Marketing-Mockups zu erzeugen – reproduzierbar bei jedem Release.

Ein Detail, das oft übersehen wird: Für jede im App Store Connect Eintrag hinterlegte Sprache müssen eigene lokalisierte Screenshots hochgeladen werden. Fehlen sie, fällt Apple automatisch auf die Screenshots der Primärsprache zurück, was in nicht-englischsprachigen Stores messbar schlechtere Conversion-Raten auf der Produktseite erzeugt.


# Capture screenshots on the largest simulator per required size class
xcrun simctl boot "iPhone 16 Pro Max"
xcrun simctl io "iPhone 16 Pro Max" screenshot ./screenshots/6.9-inch/01-home.png

# fastlane snapshot: automate screenshots across devices and locales
fastlane snapshot

# Upload existing screenshots and metadata without touching the binary
fastlane deliver --skip_binary_upload --skip_screenshots false \
  --screenshots_path ./screenshots

4. Beschreibung und Keyword-Feld für ASO optimieren

Die App-Beschreibung erlaubt bis zu 4000 Zeichen, wird von Apples Suche aber nur eingeschränkt gewichtet. Entscheidend ist trotzdem die Struktur: Die ersten zwei bis drei Zeilen erscheinen vor dem "Mehr"-Button und müssen den Kernnutzen sofort transportieren, gefolgt von konkreten Feature-Bulletpoints und einem klaren Call-to-Action am Ende. Ein generischer Marketing-Text ohne diese Struktur verschenkt Conversion-Potenzial im App Store Connect Eintrag, unabhängig davon wie gut die App selbst ist.

Das Keyword-Feld ist mit 100 Zeichen, kommagetrennt und ohne Leerzeichen nach dem Komma, der wichtigste einzelne ASO-Hebel im gesamten App Store Connect Eintrag. Begriffe aus Name und Untertitel sollten hier nicht wiederholt werden, da Apple diese bereits automatisch mit indexiert. Sinnvoller sind Synonyme, häufige Tippfehler-Varianten und, soweit markenrechtlich zulässig, verwandte Suchbegriffe aus derselben Kategorie.

Der Promotional Text mit 170 Zeichen kann jederzeit ohne neue Versionseinreichung geändert werden – praktisch für saisonale Hinweise oder befristete Angebote. Name, Untertitel und Keywords dagegen sind an eine neue Version gebunden und werden erst nach abgeschlossener Review sichtbar, was bei kurzfristigen Kampagnen unbedingt eingeplant werden muss.

5. Die App Privacy Nutrition Label korrekt ausfüllen

Seit iOS 14 verlangt Apple im App Store Connect Eintrag den vollständigen App-Privacy-Fragebogen, umgangssprachlich Nutrition Label genannt. Für jede erfasste Datenkategorie, etwa Kontaktdaten, Standort, Nutzungsdaten, Diagnosedaten oder Identifikatoren, müssen drei Fragen beantwortet werden: Wird die Kategorie überhaupt erfasst, ist sie mit der Identität des Nutzers verknüpft, und wird sie zum Tracking über Apps und Websites hinweg verwendet. Falsche oder unvollständige Angaben zählen zu den häufigsten Gründen für eine Ablehnung nach abgeschlossener Review.

Für React Native Apps mit Bibliotheken wie Firebase Analytics, Sentry oder RevenueCat müssen die Datenschutzangaben jeder integrierten SDK einzeln geprüft werden. Viele Anbieter veröffentlichen inzwischen fertige Privacy-Manifest-Angaben, die sich direkt in den Fragebogen übertragen lassen. Wichtig ist die Abgrenzung: Tracking im Sinne von Apple bedeutet die Verknüpfung mit Daten Dritter zu Werbezwecken, reines internes Analytics zählt in der Regel nicht als Tracking, muss aber trotzdem korrekt kategorisiert werden.

Unabhängig vom Nutrition Label verlangt iOS zusätzlich Zweckbeschreibungen für einzelne Systemberechtigungen, etwa Kamera- oder Standortzugriff. In Expo-Projekten werden diese über expo.ios.infoPlist in app.json gepflegt und landen beim Build automatisch in der Info.plist. Fehlt eine passende Zweckbeschreibung, lehnt Apple den Build bereits vor der eigentlichen Review ab, unabhängig davon, was im App Store Connect Eintrag zur Privacy hinterlegt ist.


{
  "expo": {
    "ios": {
      "infoPlist": {
        "NSCameraUsageDescription": "This app uses the camera to scan receipts for expense tracking.",
        "NSLocationWhenInUseUsageDescription": "Your location is used to show nearby stores in the map view.",
        "NSUserTrackingUsageDescription": "This identifier helps us measure ad performance across apps.",
        "ITSAppUsesNonExemptEncryption": false
      }
    }
  }
}

6. Preise, Verfügbarkeit und TestFlight-Testgruppen

Im Tab "Preise und Verfügbarkeit" wird die Preisstufe festgelegt, entweder Stufe 0 für kostenlose Apps oder eine der Apple-Preisstufen, die automatisch in alle Landeswährungen umgerechnet wird, sowie die Liste der Länder und Regionen, in denen der App Store Connect Eintrag überhaupt sichtbar sein soll. Standardmäßig sind alle verfügbaren Territorien aktiviert, aus regulatorischen oder lokalisierungsbedingten Gründen lässt sich diese Liste jederzeit einschränken.

TestFlight unterscheidet zwei grundverschiedene Testgruppen-Typen. Interne Tester, maximal 100 Personen, müssen Mitglieder des App Store Connect Teams mit passender Rolle sein und sehen neue Builds ohne separate Beta-Review sofort. Externe Tester, bis zu 10.000 Personen über öffentliche oder private Einladungslinks, durchlaufen für jeden neuen Build einmalig eine verkürzte Beta-App-Review. Für React Native Teams empfiehlt sich eine interne Gruppe für Entwickler und QA sowie mehrere externe Gruppen, getrennt nach Kundensegment oder Sprintphase.

eas submit kann Builds direkt einer bestehenden TestFlight-Gruppe zuordnen, wenn die entsprechende Group-ID im submit-Profil von eas.json hinterlegt ist. Das spart den manuellen Klick in der App Store Connect Oberfläche und macht die TestFlight-Verteilung zu einem festen Bestandteil der CI-Pipeline statt eines separaten manuellen Schritts nach jedem Release.

7. Build einreichen: Versions- und Build-Nummern-Konventionen

Bevor eine Version überhaupt zur Prüfung eingereicht werden kann, muss mindestens ein Build hochgeladen und vollständig verarbeitet sein. Apple benötigt nach dem Upload je nach Auslastung zwischen wenigen Minuten und mehreren Stunden für diesen Processing-Schritt. Version, etwa 2.4.0, ist die für Nutzer sichtbare, semantische Nummer, während die Build-Nummer rein intern ist und bei jedem Upload strikt aufsteigend sein muss, auch über Versionsgrenzen hinweg – zwei getrennte Felder, die in React Native Projekten regelmäßig verwechselt werden.

In app.json steuert expo.version die sichtbare Versionsnummer, während expo.ios.buildNumber und expo.android.versionCode die jeweilige plattformspezifische Build-Nummer festlegen. Mit dem Feld "cli.appVersionSource": "remote" und "autoIncrement": true in eas.json übernimmt EAS das Hochzählen automatisch bei jedem Production-Build, was doppelt vergebene Build-Nummern und damit abgelehnte Uploads zuverlässig verhindert.

Nach der Einreichung durchläuft der Build den eigentlichen Review-Prozess, üblicherweise 24 bis 48 Stunden, bei neuen sensiblen Berechtigungen oder Erstversionen mitunter deutlich länger. Bei einer Ablehnung liefert Apple im Resolution Center konkrete Gründe. Bei Erstversionen sind fehlende Demo-Zugangsdaten für Login-geschützte Apps und unvollständige Metadaten im App Store Connect Eintrag die mit Abstand häufigsten Ursachen.


// eas.json — automatic build number increments for production submissions
{
  "cli": {
    "appVersionSource": "remote"
  },
  "build": {
    "production": {
      "autoIncrement": true,
      "ios": {
        "resourceClass": "m-medium"
      }
    }
  }
}

8. App Store Connect API und eas submit für Automatisierung

Für Teams mit regelmäßigen Releases lohnt sich die App Store Connect API. Unter "Nutzer und Zugriff" > "Integrationen" wird ein API-Key mit Issuer ID, Key ID und einer zugehörigen .p8-Datei erzeugt. Dieser Key ersetzt die interaktive Apple-ID-Anmeldung samt Zwei-Faktor-Authentifizierung bei jedem Submit und ist Grundvoraussetzung für eine vollautomatisierte CI/CD-Pipeline rund um den App Store Connect Eintrag.

eas submit, Teil der Expo Application Services CLI, nutzt genau diesen Key, um Builds direkt aus der Pipeline heraus an App Store Connect zu übergeben, ohne dass jemand manuell Xcode oder das Transporter-Tool öffnen muss. Die Konfiguration erfolgt im submit-Block von eas.json, getrennt nach Profilen wie production oder testflight-only, inklusive Pfad zum API-Key, Issuer ID und der zugehörigen Apple Team ID.

Fastlane deliver löst dieselbe Aufgabe mit mehr initialem Konfigurationsaufwand, bietet dafür aber tiefergehenden Zugriff auf die Metadaten-Synchronisation – Screenshots und mehrsprachige Beschreibungstexte lassen sich direkt aus lokalen Dateien in den App Store Connect Eintrag pushen. Für reine React Native oder Expo Projekte ohne gewachsene Multi-App-Fastlane-Historie ist eas submit meist der pragmatischere Einstieg in die Automatisierung.


{
  "submit": {
    "production": {
      "ios": {
        "ascApiKeyPath": "./secrets/AuthKey_ASC_KEY_ID.p8",
        "ascApiKeyIssuerId": "YOUR_ISSUER_ID",
        "ascApiKeyId": "YOUR_ASC_KEY_ID",
        "appleTeamId": "YOUR_APPLE_TEAM_ID",
        "ascAppId": "YOUR_APP_STORE_CONNECT_APP_ID"
      }
    }
  }
}

9. Manuelle Pflege, eas submit und Fastlane deliver im Vergleich

Je nach Teamgröße, Release-Frequenz und bereits vorhandener Tooling-Landschaft sind unterschiedliche Wege sinnvoll, um den App Store Connect Eintrag zu pflegen und Builds einzureichen. Die folgende Übersicht stellt die drei gängigsten Ansätze gegenüber – von der reinen Bedienung der Weboberfläche bis zur vollautomatisierten Pipeline.

Aufgabe Manuell (App Store Connect UI) eas submit Fastlane deliver
Build-Upload Xcode Organizer oder Transporter, manueller Login Automatisch via API-Key aus CI Automatisch via API-Key aus CI
Metadaten-Pflege Direkt im Browser, kein Versionsverlauf Eingeschränkt, primär Build-fokussiert Vollständig, aus lokalen Textdateien
TestFlight-Zuordnung Manuell pro Build und Gruppe Über Group-ID im Profil automatisierbar Über pilot/deliver-Konfiguration automatisierbar
CI-Integration Nicht vorgesehen Native Expo-Integration Über beliebige CI-Runner
Einstiegsaufwand Minimal, keine Konfiguration nötig Gering bei bestehendem Expo-Setup Höher, eigene Fastfile-Konfiguration

Für einzelne Releases oder sehr kleine Teams reicht die manuelle Pflege über die Weboberfläche oft aus. Sobald mehrere Plattformen, Sprachen oder Release-Kanäle gleichzeitig gepflegt werden müssen, zahlt sich die Investition in eas submit oder Fastlane deliver schnell aus, weil der App Store Connect Eintrag dann konsistent aus einer einzigen Quelle heraus aktualisiert wird, statt bei jedem Release erneut manuell abgeglichen zu werden.

Mironsoft

React Native, Expo und iOS Release-Automatisierung

Der App Store Connect Eintrag, der ohne Stress live geht?

Wir übernehmen die Einrichtung und Pflege eures App Store Connect Eintrags – von Bundle ID und Privacy-Label über TestFlight-Testgruppen bis zur vollautomatisierten Submit-Pipeline mit eas submit oder Fastlane.

Store-Setup

Bundle ID, App-Informationen und Privacy Label sauber und vollständig einrichten

TestFlight-Prozess

Interne und externe Testgruppen aufbauen und in den Release-Workflow integrieren

CI/CD-Automatisierung

eas submit oder Fastlane deliver in eure Pipeline integrieren

10. Zusammenfassung

Ein vollständiger App Store Connect Eintrag für React Native und Expo Apps entsteht in klarer Reihenfolge: zuerst die Bundle ID und App ID im Apple Developer Portal, danach die App-Informationen mit Name, Untertitel, Kategorie und Age-Rating-Fragebogen, gefolgt von lokalisierten Screenshots für alle Pflicht-Gerätegrößenklassen. Beschreibung und Keyword-Feld entscheiden über Sichtbarkeit und Conversion, während die App Privacy Nutrition Label sorgfältig und ehrlich ausgefüllt werden muss, um Ablehnungen nach der Review zu vermeiden.

TestFlight mit internen und externen Testgruppen gehört genauso zum Prozess wie die korrekte Trennung von Version und Build-Nummer vor der eigentlichen Einreichung. Wer regelmäßig released, sollte früh in die Automatisierung investieren: ein App Store Connect API Key zusammen mit eas submit oder Fastlane deliver reduziert manuelle Klickarbeit im App Store Connect Eintrag auf ein Minimum und macht den gesamten Release-Prozess reproduzierbar.

App Store Connect Eintrag erstellen und pflegen — Das Wichtigste auf einen Blick

Reihenfolge einhalten

Erst Bundle ID und App ID im Apple Developer Portal registrieren, danach den App Store Connect Eintrag mit passender Bundle ID anlegen.

Privacy Label ernst nehmen

Die App Privacy Nutrition Label sorgfältig pro Datenkategorie ausfüllen – einer der häufigsten Gründe für Rejections nach der Review.

TestFlight früh nutzen

Interne Gruppe für Entwickler und QA, externe Gruppen pro Kundensegment – reduziert Überraschungen bei der finalen Review.

Automatisieren statt klicken

App Store Connect API Key plus eas submit oder Fastlane deliver spart Zeit und verhindert doppelt vergebene Build-Nummern.

11. FAQ: App Store Connect Eintrag für React Native Apps

1Bundle ID vs. App Store Connect Eintrag?
Die Bundle ID identifiziert die App technisch im Apple Developer Portal. Der App Store Connect Eintrag bündelt Metadaten, Builds, Preise und Testgruppen zu genau dieser Bundle ID.
2Screenshots pro Sprache nötig?
Ja, sonst greift Apple auf die Primärsprache zurück. Das senkt die Conversion in anderen Sprachmärkten spürbar.
3Was zählt als Tracking?
Verknüpfung mit Daten Dritter zu Werbezwecken. Internes Analytics zählt meist nicht als Tracking, muss aber trotzdem korrekt kategorisiert werden.
4Wie viele interne TestFlight-Tester?
Bis zu 100 Personen, müssen Mitglieder des App Store Connect Teams sein. Builds erscheinen ohne separate Beta-Review sofort.
5Wie lange dauert die Review?
Meist 24 bis 48 Stunden. Bei Erstversionen oder neuen sensiblen Berechtigungen kann es deutlich länger dauern.
6Name und Keywords ohne neue Version ändern?
Nein, beide sind an eine neue Versionseinreichung gebunden. Nur der Promotional Text lässt sich jederzeit ändern.
7Version vs. Build-Nummer?
Version ist die sichtbare semantische Nummer, Build-Nummer ist intern und muss strikt aufsteigend sein. In app.json getrennt über expo.version und expo.ios.buildNumber gepflegt.
8Ist ein Mac zwingend nötig?
Für die Verwaltung des Eintrags selbst nicht. Für lokale Xcode-Builds schon, eas build umgeht das über Cloud-Builds.
9Was macht eas submit anders?
Nutzt einen App Store Connect API Key statt interaktivem Login mit 2FA und übergibt Builds direkt aus der CI-Pipeline.
10Was passiert bei Ablehnung?
Apple liefert im Resolution Center eine konkrete Begründung. Häufigste Ursachen: fehlende Demo-Zugangsdaten und unvollständige Privacy-Angaben.