iOS App Store Review Guidelines für IAP
Ein Setup-Vorschlag kopieren mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Um Ihre App im App Store zu genehmigen, ist eine sorgfältige Beachtung der Richtlinien von Apple erforderlich, insbesondere bei der Implementierung von In-App-Käufen und Abonnements. Diese Anleitung deckt alles ab, was Sie wissen müssen, um die Überprüfung auf Ihrem ersten Einreichungsversuch zu bestehen.

Bevor Sie Einreichen
Abschnitt mit dem Titel „Bevor Sie Einreichen“App Store Connect-Einrichtung abschließen
Abschnitt: App Store Connect-Einrichtung abschließenBevor Apple Ihren Kaufprozess überprüft, stellen Sie sicher, dass das App-Record selbst vollständig ist:
- Hinzufügen von Datenschutzrichtlinien-URL in App Store Connect
- Hinzufügen von Support-URL die auf reale Kontaktinformationen für Benutzer führt
- Abschluss des Altersangaben-Fragebogens damit die App veröffentlicht werden kann
- Hinzufügen Kontaktinformationen für App-Bewertungen und klare Notizen für den Rezensenten
- Wenn ein Login erforderlich ist, stellen Sie ein __CAPGO_KEEP_0__ Konto bereit, das während der Überprüfung nicht abläuft
Vorbereiten von echten Bildschirmfotos
Abschnitt mit dem Titel „Vorbereiten von echten Bildschirmfotos“- Verwenden Sie aktuelle Bildschirmfotos aus dem tatsächlichen Build, der zur Überprüfung steht
- Für iPhone
1290 x 2796ist die einfachste Standardgröße - Wenn Ihre App auf iPad läuft, laden Sie auch iPad-Bildschirme hoch
- Aktuell akzeptierte große iPad-Größen umfassen
2064 x 2752und2048 x 273212,9 Zoll - Stretchen Sie iPhone-Bildschirme nie, um eine iPad-Unterstützung vorzutäuschen
Durchführen Sie einen Trockentest der Rezensionsreise in TestFlight
Abschnitt mit dem Titel „Durchführen Sie einen Trockentest der Rezensionsreise in TestFlight“Folgen Sie dem genauen Weg, den Apple auf einem realen Gerät verfolgt:
- Installieren Sie die neueste Version aus TestFlight
- Melden Sie sich mit dem Rezensionskonto an, das Sie bereitstellen möchten
- Den Paywall ohne versteckte Gesten oder Debug-Menüs erreichen
- Kaufabwicklung, Wiederherstellung und Verwaltung von Abonnement-Flüssen
- Überprüfen, ob die App korrekt verhält, wenn die Berechtigungen verweigert werden
In-App-Kaufanforderungen
Abschnitt mit dem Titel „In-App-Kaufanforderungen“Preisoffenlegungspflicht (Kritisch)
Abschnitt mit dem Titel „Preisoffenlegungspflicht (Kritisch)“Apple erfordert eine klare Preisoffenlegung vor jedem Kauf:
Pflichtelemente:
- Den genauen Preis vor dem Kaufbutton anzeigen
- Die Abrechnungsperiode (z.B. „$9,99/Monat“) anzeigen
- Was die Benutzer für ihr Geld erhalten, klarstellen
- Zeitpunkt der Gebührenanforderung angeben
Häufige Ablehnung:
"Die Abonnementpreise müssen klar und vorhersehbar sein."
:::Vorsicht Preis-Konsistenz Alle Preise müssen übereinstimmen in:
- App Store-Metadaten-Liste
- Anwendungskaufschirm
- Abonnementsverwaltungsschirm
Even ein $1-Disparitäten zwischen dem Store-Liste ($4,99) und der App ($5,99) wird automatische Ablehnung auslösen. :::
Abonnementplan-Präsentation
Abschnitt mit dem Titel „Abonnementplan-Präsentation“Zwingende Offenlegungen:
- Alle verfügbaren Abonnementebenen werden zusammen angezeigt
- Klare Vergleichbarkeit von Funktionen pro Ebene
- Keine automatische Umstellung auf Premium-Ebenen durch UI-Tricks
- Einfach zu lokalisierende Abbestellungsanweisungen

Beispiel für eine konforme UI:
import { NativePurchases } from '@capgo/native-purchases';
function SubscriptionScreen() { return ( <div> <h2>Choose Your Plan</h2>
{/* Show all tiers equally */} <PlanCard title="Basic" price="$4.99/month" features={['Feature A', 'Feature B']} /> <PlanCard title="Premium" price="$9.99/month" features={['All Basic', 'Feature C', 'Feature D']} highlighted={false} // Don't force premium />
{/* Clear cancellation info */} <Text> Cancel anytime in Settings > Subscriptions. No refunds for partial periods. </Text> </div> );}Wiederherstellung von Kaufleistungen
Abschnitt mit dem Titel „Wiederherstellung von Kaufleistungen“Erforderliche Implementierung:
Jedes App mit IAP muss eine Möglichkeit bieten, den Nutzer dabei zu unterstützen, seine vorherigen Kaufleistungen ohne Unterstützung wiederherzustellen.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function restorePurchases() { try { await NativePurchases.restorePurchases();
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, });
const activeSub = purchases.find( (purchase) => purchase.isActive && purchase.expirationDate, );
if (activeSub) { unlockPremiumFeatures(); showMessage('Purchases restored successfully!'); return; }
const { purchases: iaps } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.INAPP, }); const hasIap = iaps.some((purchase) => purchase.productIdentifier === 'premium_unlock');
showMessage( hasIap ? 'Premium purchase restored!' : 'No previous purchases found.', ); } catch (error) { showError('Failed to restore purchases. Please try again.'); }}
// Add a visible "Restore Purchases" button<Button onClick={restorePurchases}> Restore Purchases</Button>Häufige Ablehnungsgründe
Abschnitt mit dem Titel „Häufige Ablehnungsgründe“1. App stürzt ab oder Funktionen sind beschädigt
Abschnitt mit dem Titel „1. App stürzt ab oder Funktionen sind beschädigt“Warum es scheitert:
- Die App stürzt beim Start ab
- Der Kaufprozess schlägt fehl
- Die in den Screenshots gezeigten Funktionen funktionieren nicht
Verhütung:
- Testen Sie die App auf echten Geräten (nicht nur auf Simulatoren)
- Testen Sie alle Abonnement-Flüsse von Anfang bis Ende
- Überprüfen Sie, ob die Erhaltung von Belegen funktioniert
- Überprüfung von Netzwerkfehlerbehandlungen
2. Metadatendisparitäten
Abschnitt mit dem Titel „2. Metadatendisparitäten“Warum es scheitert:
- Bildschirme zeigen Funktionen, die nicht im aktuellen Build enthalten sind
- Beschreibung erwähnt Funktionen, die nicht existieren
- Preise im Metadaten unterscheiden sich von den in-app-Preisen

Vorbeugung:
// Document exactly what's in each tierconst SUBSCRIPTION_FEATURES = { basic: ['Ad-free', 'Cloud sync', 'Basic themes'], premium: ['Ad-free', 'Cloud sync', 'All themes', 'Priority support']};
// Use these in both your app AND App Store description3. Fehlende Erläuterungen zu Berechtigungen
Abschnitt mit dem Titel „3. Fehlende Erläuterungen zu Berechtigungen“Warum es scheitert:
- Kamera/Ort/Gesundheitszugriff ohne Erklärung anfordern
- Zustimmungsanfragen in mehreren Bildschirmen tief
- Vage oder allgemeine Zustimmungsbeschreibungen
Verhütung:
Aktualisieren Sie Ihren Info.plist mit klaren Erklärungen:
<key>NSCameraUsageDescription</key><string>Camera access is needed to scan product barcodes for quick subscription upgrades.</string>
<key>NSLocationWhenInUseUsageDescription</key><string>Location helps us show relevant local content in your Premium subscription.</string>4. Irreführende Werbung
Abschnitt mit dem Titel „4. Irreführende Werbung“Why It Fails:
- Falsche Behauptungen wie “Nummer 1-App in der Welt” ohne Beweise
- “Unbegrenzte” Funktionen mit versteckten Grenzen
- Falsche Dringlichkeitsstrategien (“Nur noch 2 Plätze frei!”)


Prävention:
- Seien Sie spezifisch und faktenbasiert in Beschreibungen
- Vermeiden Sie Superlativen ohne Beweise
- Drängen Sie die Benutzer nicht mit falscher Knappheit
5. Versteckter Stornierungsprozess
Abschnitt mit dem Titel “5. Versteckter Stornierungsprozess”Why es scheitert:
- Keine Anweisung, wie man abbestellt
- Stornierungs-Button versteckt oder behindert
- Multi-Schritt-Stornierungsprozess ohne Apple’s nativen Flow
Prävention:
// Always inform users about cancellationfunction SubscriptionInfo() { return ( <div> <h3>How to Cancel</h3> <ol> <li>Open iPhone Settings</li> <li>Tap your name at the top</li> <li>Tap Subscriptions</li> <li>Select this app and tap Cancel</li> </ol>
<p>Or manage directly in the App Store app.</p>
<Button onClick={openSubscriptionManagement}> Manage Subscription in Settings </Button> </div> );}
async function openSubscriptionManagement() { // Direct link to iOS subscription management await NativePurchases.showManageSubscriptions();}Privatsphäre & Datenverwendung (Abschnitt 5.1.1)
Abschnitt mit dem Titel “Privatsphäre & Datenverwendung (Abschnitt 5.1.1)”Apple hat die Datenschutzanforderungen 2025 erheblich verschärft.
Zwingende Offenlegungspflichten
Abschnitt mit dem Titel “Zwingende Offenlegungspflichten”Für jede Genehmigung:
- Warum Sie es benötigen (spezifischer Einsatzfall)
- Wann es verwendet wird
- Wie Daten gespeichert/ geteilt werden
- Ob es optional oder erforderlich ist
Beispiel: Ordentliche Berechtigungsablauf
Abschnitt mit dem Titel „Beispiel: Ordentlicher Berechtigungsablauf“async function requestCameraPermission() { // Show explanation BEFORE requesting await showDialog({ title: 'Camera Access', message: 'We need camera access to let you scan barcodes for quick product lookup. Your photos are never uploaded or stored.', buttons: ['Not Now', 'Allow'] });
// Then request permission const result = await Camera.requestPermissions(); return result.camera === 'granted';}Datenschutz-Nährwertetiketten
Abschnitt mit dem Titel „Datenschutz-Nährwertetiketten“Stellen Sie sicher, dass Ihre App-Store-Datenschutzetiketten genau Folgendes widerspiegeln:
- Sammeln von Kaufhistorien
- E-Mail-Adressen (für Rechnungen)
- Geräte-IDs (zur Vorbeugung von Betrugsfällen)
- Verwendungsdaten (zur Analyse)
Unzutreffende Datenschutzbeschriftungen sind eine häufige Ablehnungsgrund in 2025. Überprüfen Sie Ihre Datenerfassung sorgfältig.
Vorab-Überprüfungsliste
Abschnitt mit dem Titel “Vorab-Überprüfungsliste”
-
Alle Kaufabläufe testen
- Jede Abonnementstufe kaufen
- Freitriale testen
- Einführungsangebote überprüfen
- Wiederherstellungen von Kaufs testen
- Familienfreundliche Funktion (wenn aktiviert) überprüfen
- Testen auf mehreren Geräten
-
Überprüfe Preisinkonsistenz
- Überprüfe, ob App-Store-Metadaten mit den in-app-Preisen übereinstimmen
- Überprüfe, ob alle Währungen korrekt sind
- Bestätige, dass die Dauer der kostenlosen Testphase mit den Beschreibungen übereinstimmt
- Überprüfe, ob die Bedingungen für Einführungsangebote genau sind
-
Überprüfe alle Texte
- Entferne Platzhaltertext
- Überprüfe, ob alle Behauptungen überprüfbar sind
- Überprüfe Rechtschreibung und Grammatik
- Stelle sicher, dass Beschreibungen mit der aktuellen Version übereinstimmen
- Entferne Erwähnungen von Konkurrenten
-
Test Rechte
- Verlangen Sie nur notwendige Berechtigungen
- Zeigen Sie klare Erklärungen vor der Anfrage
- Testen Sie 'Ablehnen'-Flüsse (die App sollte weiterhin funktionieren)
- Überprüfen Sie, ob die Beschreibungen in Info.plist klar sind
-
Vorbereiten Sie ein Testkonto
- Erstellen Sie ein Rezensionskonto, das während der Rezension gültig bleibt
- Dokumentieren Sie die Anmeldeinformationen in der App-Bewertungsinformation
- Überprüfen Sie, ob der Rezensent den Paywall erreichen und den Kaufprozess abschließen kann
- Beachten Sie in den Anmerkungen zusätzliche Konten oder App-spezifische Schalter, wenn erforderlich
-
Überprüfen Sie die Metadaten
- Die Screenshots entsprechen der aktuellen Benutzeroberfläche
- Support-URL enthält echte Kontaktinformationen
- Datenschutzrichtlinien-URL ist ausgefüllt
- Alterseinstufung passt zum Inhalt im Build
- App-Vorschau-Video (falls vorhanden) zeigt aktuelle Version
- Beschreibung beschreibt genau die Funktionen
- Datenschutzrichtlinien sind in der App und im Store-Listing zugänglich
-
Schriftliche Notizen für detaillierte Bewertungen erstellen
Contact:Name: Jane DeveloperEmail: review@yourapp.comPhone: +1 555-0100Test Account:Email: reviewer@test.comPassword: TestPass123!This account does not expire during review.Testing Instructions:1. Log in with test account above2. Tap "Upgrade to Premium" button3. Select "Monthly Premium" subscription4. Complete purchase (no charge in sandbox)5. Verify premium features unlockNote: Subscription pricing is clearly shown before purchase.Cancellation instructions are in Settings > Account.
Zeitlinie der Bewertungen
Zeitlinie der App-Store-Bewertungen
Review Timeline 24-48 Stunden Hochbetriebszeiten: 3-5 Tage (Veröffentlichungen während der App Store-Holiday-Periode) Wochenenden: Keine Bewertungen verarbeitet Expedierter Review: Verfügbar für kritische Fehlerbehebungen (Anfrage über App Store Connect)
Gemeinsame Status, die Sie in App Store Connect sehen werden:
Waiting for ReviewIn ReviewPending Developer ReleaseRejected
2026 Submissionsschwerpunkt
Abschnitt mit dem Titel “2026 Einreichungs-Schwerpunkt”Aktuelle Schwerpunkte
Abschnitt mit dem Titel “Aktuelle Schwerpunkte”1. Abonnement-Klarheit
- Seitliche Vergleiche von Tarifen erforderlich
- Keine “ dunklen Muster” , die günstigere Optionen verbergen
- Klare Ab- und Aufstiegswege
2. Metadaten-Accurazie
- Bildschirmfotos müssen dem zu überprüfenden Build entsprechen
- iPad-Bildschirmfotos sind erforderlich, wenn iPad-Unterstützung aktiviert ist
- Support-URL und Datenschutzrichtlinie sollten bereits vor der Einreichung live sein
3. Datenschutz und Qualität der Rezensionsdetails
- Datenübermittlungen müssen den tatsächlich von Ihren SDKs gesammelten Daten entsprechen
- Kontaktinformationen und Notizen für die App-Überprüfung sollten bei der ersten Einreichung vollständig sein
- Demo-Anmeldeinformationen müssen während der gesamten Überprüfungszeit gültig bleiben
4. Einreichereife
- Apple updates minimum SDK requirements regularly, so confirm the current deadline before uploading a release build
- TestFlight ist der sichere Ort, um den genauen Prüferweg vor der Einreichung zu überprüfen
Best Practices für den Native Purchases Plugin
Erfolgreiche Implementierung von Native Purchases PluginProper Error Handling implementieren
Zur Zwischenablage kopierenimport { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function handlePurchase(productId: string) { try { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: productId, productType: PURCHASE_TYPE.SUBS, });
// Success await validateReceiptOnServer(transaction.receipt); showSuccess('Subscription activated!'); unlockFeatures();
} catch (error: any) { // Handle specific error cases if (error.code === 'USER_CANCELLED') { // User cancelled - don't show error console.log('Purchase cancelled by user'); } else if (error.code === 'PAYMENT_PENDING') { showInfo('Payment is pending. Please check back later.'); } else if (error.code === 'PRODUCT_ALREADY_PURCHASED') { // Restore instead await NativePurchases.restorePurchases(); } else { // Show user-friendly error showError('Unable to complete purchase. Please try again.'); } }}Laden Sie die Zustände an
Abschnitt mit dem Titel „Anzeige von Ladezuständen“function PurchaseButton({ productId }: { productId: string }) { const [loading, setLoading] = useState(false);
const handlePurchase = async () => { setLoading(true); try { await NativePurchases.purchaseProduct({ productIdentifier: productId }); } finally { setLoading(false); } };
return ( <button onClick={handlePurchase} disabled={loading}> {loading ? 'Processing...' : 'Subscribe Now'} </button> );}Zeigen Sie die Bedingungen klar an
Abschnitt mit dem Titel „Zeigen Sie die Bedingungen klar an“function SubscriptionTerms() { return ( <div className="terms"> <p> Subscription automatically renews unless cancelled at least 24 hours before the end of the current period. </p> <p> Your account will be charged for renewal within 24 hours prior to the end of the current period. </p> <p> Subscriptions may be managed by the user and auto-renewal may be turned off in Account Settings after purchase. </p> <p> <a href="/terms">Terms of Service</a> | <a href="/privacy/">Privacy Policy</a> </p> </div> );}Wenn Ihre App abgelehnt wird
Abschnitt mit dem Titel „Wenn Ihre App abgelehnt wird“Schritte zur Behebung
Abschnitt mit dem Titel „Schritte zur Behebung“-
Die Ablehnung sorgfältig lesen
- Die spezifische Richtlinie vermerken (z. B. 3.1.1, 5.1.1)
- Genau verstehen, was Apple beanstandet
-
Fixen Sie das Problem gründlich
- Pflegen Sie nicht nur eine Reparatur - beheben Sie die Ursache
- Testen Sie die Reparatur umfassend
- Dokumentieren Sie, was Sie geändert haben
-
Antworten Sie im Resolution Center
Thank you for your feedback. I have addressed the issue:Issue: Subscription pricing not clear upfrontFix: Added explicit pricing display on subscription selectionscreen showing "$9.99/month" before purchase button. Also addedcancellation instructions on the same screen.The changes are in this submission and can be tested using theprovided test account. -
Wieder einreichen Sie schnell
- Wieder einreichen ist in der Regel schneller geprüft
- In der Regel innerhalb von 24 Stunden
Berufungsverfahren
Abschnitt mit dem Titel „Berufungsverfahren“Wenn Sie glauben, dass die Ablehnung falsch ist:

- Klicken Sie auf „Beschwerde“ in App Store Connect
- Bieten Sie klare Beweise:
- Bildschirmdarstellungen, die die Einhaltung nachweisen
- Verweise auf spezifische Richtlinien
- Erklärung, wie Sie die Anforderungen erfüllen
- Seien Sie professionell und faktenbasiert
- Fügen Sie ein Testkonto hinzu, wenn die Funktion schwer zu finden ist

Zusätzliche Ressourcen
Abschnitt mit dem Titel „Zusätzliche Ressourcen“- Apple App Store-Bewertungsrichtlinien
- In-App-Kaufleitlinien
- Best Practices für Abonnements
- Hilfe zu App Store Connect
- Anforderungen an Screenshot
- Plattformversionen
Unterstützung
Abschnitt mit dem Titel „Unterstützung“Wenn Sie weiterhin Probleme haben:
- Überprüfen Sie das Dokumentation zu Native Purchases
- Überprüfen Sie gängige Fehlerbehebungsprobleme
- Kontaktieren Sie den Apple-Entwickler-Support für Klarstellungen zu den Richtlinien
Brauchen Sie Expertenhilfe?
Abschnitt mit dem Titel „Brauchen Sie Expertenhilfe?“Haben Sie Schwierigkeiten bei der App-Überprüfung oder benötigen Sie persönliche Unterstützung? Buchen Sie einen Beratungstermin mit unserem Team für eine dedizierte Unterstützung mit:
- Überprüfung und Optimierung der IAP-Implementierung
- Vorbereitung und Strategie für die App-Store-Überprüfung
- Überprüfung des Einreichungschecklisten
- Auflösung von Ablehnungen und Beschwerden
- Vollständige Testung und Validierung
Unsere Experten haben bereits hunderte von Apps erfolgreich durch die Überprüfung gebracht!
Bleiben Sie bei den iOS App Store Review Richtlinien für IAP
Abschnitt mit dem Titel “Bleiben Sie bei den iOS App Store Review Richtlinien für IAP”Wenn Sie iOS App Store Review Richtlinien für IAP zur Planung der Veröffentlichung und Verteilung im App Store verwenden, verbinden Sie es mit Mit @capgo/native-purchases für die native Fähigkeit in Mit @capgo/native-purchases, @capgo/capacitor-in-app-Bewertung für die Implementierungsdetail in @capgo/capacitor-in-app-Bewertung, Mit @capgo/capacitor-in-app-Bewertung für die native Fähigkeit in Mit @capgo/capacitor-in-app-Bewertung, @capgo/capacitor-native-Markt für die Implementierungsdetails in @capgo/capacitor-native-market, und Mit @capgo/capacitor-native-market für die native Fähigkeit in Mit @capgo/capacitor-native-market.