Der schwierige Teil der mobilen App-Entwicklung ist nicht, wie oft angenommen, der Code. Aus einer einzigen Codebasis zwei Plattformen zu bedienen, ist mit React Native und Expo heute ziemlich unkompliziert. Die eigentliche Überraschung sind die Stores: Konten, Datenschutzformulare, Testanforderungen und Ablehnungsgründe.
Dieser Beitrag behandelt genau diesen Teil – was du brauchst, damit deine App nach dem Programmieren wirklich veröffentlicht wird.
Zuerst die Kosten
| Gebühr | Modell | |
|---|---|---|
| Apple Developer Program | 99 USD | Jährlich – wenn du nicht mehr zahlst, verschwinden deine Apps aus dem Store |
| Google Play Console | 25 USD | Einmalig – für die gesamte Lebensdauer des Kontos |
Der Unterschied ist wichtig: Bei Apple ist es ein Abonnement. Du kannst eine App nicht veröffentlichen und vergessen, sondern musst jedes Jahr verlängern.
Tipp: Auf wessen Namen läuft das Konto?
Wenn du die App für einen Kunden entwickelst, sollten die Konten auf den Namen des Kunden eröffnet werden. Wird die App über dein Konto veröffentlicht, wird die Eigentumsfrage zum Problem, sobald sich eure Wege trennen – bei Apple ist ein Transfer zwischen Konten möglich, aber an Prozeduren geknüpft, und in manchen Fällen gar nicht.
Googles Regel mit den 12 Testern
Das bringt den Zeitplan derer, die nicht darauf vorbereitet sind, am meisten durcheinander, und in türkischsprachigen Quellen kommt es kaum vor.
Wichtig: Die Regel
Für persönliche Entwicklerkonten, die nach dem 13. November 2023 eröffnet wurden: Bevor du eine App in die Produktion (Production) bringen kannst, musst du zuerst einen geschlossenen Test durchführen – mit mindestens 12 Testern, 14 Tage lang ohne Unterbrechung. Erst nach Abschluss kannst du in der Play Console den Produktionszugriff beantragen.
Als die Regel eingeführt wurde, waren es 20 Tester; im Dezember 2024 wurde die Zahl auf 12 gesenkt.
Die Details haben es in sich:
- Die 14 Tage müssen ununterbrochen sein. Steigt ein Tester ein und wieder aus, zählt er nicht; steigt er erneut ein, beginnt der Zähler von vorn.
- 12 Tester müssen gleichzeitig angemeldet sein. Es reicht nicht, dass zu verschiedenen Zeitpunkten insgesamt 12 Personen getestet haben.
- Diese Zeit kommt zusätzlich zur Entwicklungszeit dazu. Wenn die App fertig ist, vergehen also mindestens zwei weitere Wochen.
Warnung: Praktische Konsequenz
Wenn du dem Kunden versprochen hast, dass die App in drei Wochen live ist, und es sich um ein frisch eröffnetes persönliches Konto handelt, kannst du dieses Versprechen nicht halten. Bei Organisationskonten (Unternehmen) gilt diese Bedingung nicht – deshalb bestimmt der Kontotyp den Zeitplan.
Ich rechne den Zeitplan deshalb nicht ab der Kontoeröffnung, sondern ab dem Tag, an dem die Tester beisammen sind.
Apples Datenschutzerklärung
Seit dem 1. Mai 2024 müssen alle neuen Apps und Updates, die im App Store eingereicht
werden, für Drittanbieter-SDKs, die „Required Reason APIs“ nutzen, eine
Datenschutzerklärung (PrivacyInfo.xcprivacy) enthalten. Das ist eine Plist-Datei, in
der deklariert wird, welche Datenarten die App erhebt und aus welchem Grund sie bestimmte
APIs verwendet.
Apps mit fehlender Erklärung werden im Review abgelehnt.
Auf der Expo-Seite ist das gut handhabbar: Die meisten Bibliotheken bringen ihre eigene Erklärung mit, und was du selbst ergänzen musst, definierst du in der Konfiguration. Aber an dem Tag, an dem du sagst „Der Code ist fertig, schicken wir ihn los“, kann das das Erste sein, worüber du stolperst.
Formulare: deklarieren, was du erhebst
Beide Stores verlangen eine Erklärung zur Datenerhebung:
- Apple – App Privacy: Welche Daten erhebst du, wofür nutzt du sie, werden sie mit dem Nutzer verknüpft? Die „Datenschutz-Labels“ auf der Store-Seite werden daraus erzeugt.
- Google – Data Safety: Das Pendant bei Google mit denselben Fragen, dazu die Angabe, ob die Daten verschlüsselt werden und ob Nutzer eine Löschung beantragen können.
Die Angaben müssen mit dem tatsächlichen Verhalten der App übereinstimmen. Wird eine Abweichung festgestellt, kann die App entfernt werden.
Erklärung: Der Vorteil einer App ohne Server
Beim Entwickeln von BreakChain habe ich bewusst entschieden: gar kein Server. Der
Nutzer gibt das Datum ein, an dem er mit dem Rauchen aufgehört hat, dazu die tägliche
Menge und den Preis; sämtliche Berechnungen laufen auf dem Gerät, und die Daten bleiben
per AsyncStorage ausschließlich auf dem Gerät. Auch die Benachrichtigungen sind lokal.
Die Auswirkung auf der Store-Seite ist groß: Es werden keine Daten erhoben, also gibt es auch keine Daten zu deklarieren. Der Datenschutztext ist kurz, die Formulare sind in ein paar Minuten ausgefüllt, das Risiko einer Datenpanne ist null – weil du null Daten vorhältst.
Gleich zu Beginn zu fragen, ob die App wirklich einen Server braucht, bestimmt nicht nur die Infrastrukturkosten, sondern auch die rechtliche Last.
Die Datenschutzerklärung muss eine URL sein
Beide Stores verlangen, dass die Datenschutzerklärung unter einer erreichbaren Adresse veröffentlicht ist. Ein Text innerhalb der App reicht nicht; im Eintrag musst du einen Link angeben.
Hat die App keine eigene Website, ist der praktischste Weg, auf einer bestehenden Website
eine Unterseite anzulegen. Auf dieser Website liegt sie unter /privacy-policy/breakchain –
auf diese Adresse zeigt der Store-Eintrag.
Build und Upload mit EAS
Wenn du Expo nutzt, brauchst du für den Build keinen lokalen Mac; EAS Build verwaltet auch die Signaturzertifikate.
# Kurulum
npm install -g eas-cli
eas login
eas build:configure
# Mağaza için derleme
eas build --platform ios
eas build --platform android
# Mağazaya gönderme
eas submit --platform ios
eas submit --platform androidDie Verwaltung von Zertifikaten und Profilen ist hier die größte Erleichterung: Das iOS-Signing war traditionell der nervigste Teil des Prozesses, und EAS nimmt es dir ab.
Warnung: Versionsnummern
Bei jeder Einreichung im Store muss die Build-Nummer (buildNumber / versionCode)
höher sein. Mit derselben Nummer kannst du nicht ein zweites Mal einreichen, und die
Fehlermeldung ist auf den ersten Blick nicht verständlich. EAS kann sie automatisch
hochzählen; es lohnt sich, das zu aktivieren.
Store-Eintrag
Das musst du vorbereiten, nachdem der Code fertig ist:
- App-Icon – die Ecken rundest nicht du ab, der Store wendet seine eigene Maske an. Reiche es quadratisch und vollflächig ein.
- Screenshots – in bestimmten Gerätegrößen und in bestimmter Anzahl. Das ist die Arbeit, die die meisten auf den letzten Tag verschieben und die am meisten Zeit kostet.
- Beschreibungstext – wird auch für die Suche im Store verwendet.
- Kategorie, Altersfreigabe, Kontaktdaten.
- Testkonto – wenn die App einen Login hat, musst du dem Reviewer ein funktionierendes Konto zur Verfügung stellen. Tust du das nicht, wird die App abgelehnt.
Häufige Ablehnungsgründe
Zusammenfassung: Check vor der Einreichung
- Die URL der Datenschutzerklärung funktioniert nicht oder zeigt eine leere Seite
- Die angegebene Datenerhebung stimmt nicht mit dem tatsächlichen Verhalten der App überein
- Bei einer App mit Login wurde dem Reviewer kein Testkonto gegeben
- Die App wirkt „unfertig“: leere Screens, Buttons, die nicht funktionieren
- Die Screenshots zeigen nicht den tatsächlichen Stand der App
- Eine nötige Berechtigung wird angefragt, aber nicht erklärt, warum
- Unter iOS fehlt die Datenschutzerklärung
Die Veröffentlichung ist nicht das Ende
Auch nach dem Livegang braucht die App Pflege: Plattformversionen ändern sich, Apple und Google führen von Zeit zu Zeit neue Deklarationspflichten ein, Bibliotheken veralten. „Einmal schreiben und vergessen“ gilt bei einer mobilen App weniger als im Web – denn die beiden Plattformen darunter folgen jeweils ihrem eigenen Zeitplan.
Deshalb spreche ich bei Mobile-Projekten das Thema Versions-Updates von Anfang an an: Wer aktualisiert die App, und wie oft?
Tipp: Lass uns das gemeinsam angehen
Die Entwicklung mit React Native und die Durchführung der Store-Veröffentlichung gehören zu den Leistungen, die ich anbiete – Umfang und Ablauf habe ich auf der Seite zur mobilen App-Entwicklung beschrieben. Ein Beispiel einer veröffentlichten App findest du bei BreakChain.
Hinweis: Quelle
Die Testanforderung von Google Play stützt sich auf die Play Console-Hilfe, Apples Pflicht zur Datenschutzerklärung auf die Expo-Dokumentation. Die Store-Regeln ändern sich; prüfe vor der Einreichung den aktuellen Stand.
Interaktive Roadmap & Tool
Junior Frontend Developer 2026
Was du wirklich wissen musst, um 2026 einen Junior-Frontend-Job zu bekommen, und was warten kann – abgeleitet aus echten Stellenanzeigen.
SQL oder NoSQL?
Beantworte sechs Fragen, und ich sage dir, welche Art von Datenbank zu deinem Projekt passt und warum.
Als Nächstes lesen
- CZDEuse cache in Next.js 16: Caching auf dem Server mit Cache Components
use cache in Next.js 16: Caching auf dem Server mit Cache Components
15. Juni 2025 · 10 Min. Lesezeit - CZDEEine React-UI-Bibliothek auswählen: Welche solltest du 2026 verwenden?
Eine React-UI-Bibliothek auswählen: Welche solltest du 2026 verwenden?
13. Juni 2025 · 7 Min. Lesezeit