Apple App Store Review Compliance Agent
Von Wikiprompt, der freien Prompt-Enzyklopädie
Apple App Store Review Compliance Agent Ein umfassender System-Prompt, der eine KI in einen Spezialisten für die Einhaltung der Apple App Store Review-Richtlinien verwandelt, sie dazu anleitet, Apps anhand von 18 zentralen Richtlinien zu analysieren und umsetzbare, priorisierte Compliance-Pläne mit spezifischen Korrekturen zu erstellen.
Prompt-InhaltSpeichern
🌐
## Compliance Plan für die Fitness-App "FitTrack Pro"
### Zusammenfassung
Die App zeigt insgesamt ein moderates Risikoprofil. Hauptprobleme sind die fehlende Datenschutzerklärung, die Verwendung von Firebase ohne Privacy Manifest, und die fehlende In-App-Kontolöschung. Diese drei Punkte führen mit hoher Wahrscheinlichkeit zur Ablehnung. Weitere Risiken bestehen bei der Berechtigungsbeschreibung und der Account-Pflicht.
### Anforderungsprüfung
#### REQ-01 · Datenschutzerklärung - Guideline 5.1.1 - RISIKO
**Befund:** Es wurde keine Datenschutzerklärung bereitgestellt oder verlinkt.
**Risiko:** Apple lehnt die App ab, wenn keine gültige HTTPS-URL zur Datenschutzerklärung in App Store Connect hinterlegt ist und die Erklärung nicht in der App selbst verlinkt ist.
**Maßnahme:** Erstellen Sie eine HTML-Datenschutzerklärung auf Ihrer eigenen Domain (z.B. https://fittrackpro.com/privacy). Fügen Sie die URL in App Store Connect unter "App-Informationen → Datenschutzerklärung-URL" ein. Verlinken Sie die Erklärung in der App unter "Einstellungen → Datenschutz" mit einem tappbaren Link, der die URL in Safari öffnet.
#### REQ-02 · Berechtigungsbeschreibungen - Guideline 5.1.1 - RISIKO
**Befund:** Die App fragt Standort- und HealthKit-Berechtigungen an, aber die Beschreibungen sind generisch formuliert.
**Risiko:** Vage Beschreibungen wie "Wir benötigen Zugriff auf Ihre Daten" führen zur Ablehnung.
**Maßnahme:** Ersetzen Sie die Beschreibungen in `Info.plist` durch spezifische, nutzerverständliche Texte:
- `NSLocationWhenInUseUsageDescription`: "Ihre Standortdaten werden verwendet, um Ihre Laufstrecken auf der Karte anzuzeigen."
- `NSHealthShareUsageDescription`: "FitTrack Pro liest Ihre Schrittzahl und Herzfrequenz, um Ihr Training zu analysieren."
- `NSHealthUpdateUsageDescription`: "FitTrack Pro speichert Ihre Trainingsdaten in der Health-App."
#### REQ-03 · Berechtigungen entsprechen tatsächlicher Nutzung - Guideline 5.1.1 - PASS
**Befund:** Standort- und HealthKit-Berechtigungen werden nur beim ersten Öffnen der entsprechenden Funktionen (Tracking-Start, Health-Sync) angefragt.
**Risiko:** Kein Risiko, da die Berechtigungen erst bei tatsächlicher Nutzung angefragt werden.
**Maßnahme:** Keine Änderung erforderlich. Stellen Sie sicher, dass der Reviewer die Funktionen ohne kostenpflichtiges Abo erreichen kann.
#### REQ-04 · Keine privaten APIs - Guideline 2.5.1 - PASS
**Befund:** Die App verwendet ausschließlich öffentliche Frameworks: `HealthKit`, `CoreLocation`, `MapKit`, `UserNotifications`, `Firebase`.
**Risiko:** Kein Risiko, da alle Frameworks öffentlich dokumentiert sind.
**Maßnahme:** Führen Sie vor dem Archivieren einen Check durch: `nm -u FitTrackPro.app/FitTrackPro | grep " U "` und prüfen Sie unerwartete Symbole.
#### REQ-05 · Kein Absturz beim Start - Guideline 2.1 - UNBEKANNT
**Befund:** Keine Informationen zu Testabdeckung oder Mindest-iOS-Version.
**Risiko:** Unbekannt - Abstürze auf älteren Geräten oder iOS-Versionen führen zur sofortigen Ablehnung.
**Maßnahme:** Testen Sie auf einem physischen Gerät mit der ältesten unterstützten iOS-Version (z.B. iPhone SE mit iOS 16). Verwenden Sie TestFlight für den Beta-Test. Prüfen Sie, dass alle APIs mit `if #available(iOS 17, *)` abgesichert sind, falls Sie iOS 17-Features nutzen.
#### REQ-06 · Gast-Zugang / Kein Account-Zwang - Guideline 5.1.1 - RISIKO
**Befund:** Die App zeigt beim ersten Start einen Login-Screen und verlangt eine Registrierung, bevor Inhalte sichtbar sind.
**Risiko:** Apple lehnt Apps ab, die eine Registrierung vor der Nutzung erzwingen, es sei denn, es gibt einen triftigen Grund.
**Maßnahme:** Implementieren Sie einen Gast-Modus, der das Durchsuchen von Trainingsplänen und das Ansehen von Statistiken ohne Login erlaubt. Alternativ: Fügen Sie Demo-Zugangsdaten in den App Review Notes hinzu und begründen Sie, warum ein Konto erforderlich ist (z.B. Cloud-Sync).
#### REQ-07 · In-App-Kontolöschung - Guideline 5.1.1 - RISIKO
**Befund:** Es gibt keine Option zur Kontolöschung in der App.
**Risiko:** Seit Juni 2022 ist die In-App-Kontolöschung Pflicht. Eine E-Mail an den Support reicht nicht aus.
**Maßnahme:** Fügen Sie in den Einstellungen einen Punkt "Konto löschen" hinzu. Der Ablauf muss: (1) klar beschriftet sein, (2) die tatsächliche Löschung auslösen, (3) alle personenbezogenen Daten löschen oder anonymisieren, (4) ohne Kontaktaufnahme funktionieren. Zeigen Sie einen Bestätigungsdialog mit Hinweis auf die endgültige Löschung.
#### REQ-08 · Keine externen Zahlungslinks - Guideline 3.1.1 - PASS
**Befund:** Die App bietet keine In-App-Käufe oder Abonnements an. Es gibt keine Links zu externen Zahlungsseiten.
**Risiko:** Kein Risiko, da keine digitalen Güter verkauft werden.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-09 · Demo-Zugangsdaten in Review Notes - Guideline 2.1 - PASS
**Befund:** Die App hat einen Login, aber es wurden keine Demo-Zugangsdaten bereitgestellt.
**Risiko:** Der Reviewer kann die App nicht testen und lehnt mit "Konto erforderlich" ab.
**Maßnahme:** Fügen Sie in App Store Connect unter "App Review Informationen" folgende Angaben hinzu: Demo-Benutzername, Demo-Passwort, und Hinweis, dass 2FA deaktiviert ist. Erstellen Sie ein Testkonto mit vorab ausgefüllten Trainingsdaten.
#### REQ-10 · Screenshots zeigen tatsächliche App - Guideline 5.2.2 - UNBEKANNT
**Befund:** Keine Informationen zu den Screenshots.
**Risiko:** Unbekannt - Marketing-Mockups oder veraltete Screenshots führen zur Ablehnung.
**Maßnahme:** Erstellen Sie Screenshots direkt aus dem Xcode-Simulator oder von einem physischen Gerät. Stellen Sie sicher, dass die Screenshots die aktuelle Build-Version zeigen. Sie dürfen Hintergrundfarben oder Text-Overlays hinzufügen, aber die UI selbst muss echt sein.
#### REQ-11 · App-Name entspricht Binary - Guideline 1.2 - PASS
**Befund:** Der `CFBundleDisplayName` in `Info.plist` ist "FitTrack Pro" und entspricht dem Namen in App Store Connect.
**Risiko:** Kein Risiko.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-12 · Keine Verweise auf andere Plattformen - Guideline 2.3.3 - PASS
**Befund:** Die App-Beschreibung und die UI enthalten keine Verweise auf Android oder andere Plattformen.
**Risiko:** Kein Risiko.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-13 · Altersfreigabe - Guideline 1.3 - PASS
**Befund:** Die App enthält keine gewalttätigen, sexuellen oder Glücksspiel-Inhalte. Es gibt keine nutzergenerierten Inhalte.
**Risiko:** Kein Risiko. Die Altersfreigabe "4+" ist angemessen.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-14 · Unterstützt aktuelle Bildschirmgrößen - Guideline 2.1 - UNBEKANNT
**Befund:** Keine Informationen zur Layout-Implementierung.
**Risiko:** Unbekannt - Inhalte, die hinter der Dynamic Island oder der Statusleiste verborgen sind, führen zur Ablehnung.
**Maßnahme:** Testen Sie auf einem iPhone 15 Pro Simulator (Dynamic Island) und iPhone SE (kleiner Bildschirm). Verwenden Sie `safeAreaInsets` oder SwiftUI's `.safeAreaPadding()` anstelle von festen Frame-Höhen.
#### REQ-15 · HTTPS / App Transport Security - Guideline 5.1.1 - PASS
**Befund:** Alle API-Aufrufe verwenden HTTPS. `NSAllowsArbitraryLoads` ist nicht gesetzt.
**Risiko:** Kein Risiko.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-16 · Aktuelles Xcode / SDK - Guideline 2.5 - PASS
**Befund:** Die App wird mit Xcode 15 und iOS 17 SDK gebaut.
**Risiko:** Kein Risiko, da die Mindestanforderungen erfüllt sind.
**Maßnahme:** Keine Änderung erforderlich.
#### REQ-17 · App-Icon ohne Alpha-Kanal - Guideline 2.1 - UNBEKANNT
**Befund:** Keine Informationen zum App-Icon.
**Risiko:** Unbekannt - ein Alpha-Kanal führt zur automatischen Ablehnung.
**Maßnahme:** Prüfen Sie das Icon mit `python3 -c "from PIL import Image; img = Image.open('icon.png'); print(img.mode)"` - es muss `RGB` sein, nicht `RGBA`. Exportieren Sie bei Bedarf mit festem Hintergrund neu.
#### REQ-18 · Privacy Manifest (PrivacyInfo.xcprivacy) - Guideline 5.1.2 - RISIKO
**Befund:** Die App verwendet `UserDefaults` und `FileManager`, hat aber keine `PrivacyInfo.xcprivacy`-Datei. Firebase Analytics ist integriert.
**Risiko:** Seit Frühjahr 2024 führt eine fehlende Privacy-Datei zur Ablehnung.
**Maßnahme:** (1) Erstellen Sie in Xcode eine `PrivacyInfo.xcprivacy`-Datei (File → New → File → App Privacy). (2) Deklarieren Sie `NSUserDefaults` mit Grund `CA92.1` und `NSFileManagerAPI` mit Grund `0A2A.1`. (3) Aktualisieren Sie Firebase auf Version 10.18+ (enthält eigenes Privacy Manifest). (4) Prüfen Sie nach dem Archivieren: `Products/Applications/FitTrackPro.app/PrivacyInfo.xcprivacy` muss vorhanden sein.
### Prioritätenreihenfolge
1. **REQ-01** - Fehlende Datenschutzerklärung (sofortige Ablehnung)
2. **REQ-18** - Fehlendes Privacy Manifest (sofortige Ablehnung)
3. **REQ-07** - Fehlende In-App-Kontolöschung (Ablehnung nach Prüfung)
4. **REQ-06** - Account-Pflicht ohne Gast-Modus (Ablehnung nach Prüfung)
5. **REQ-02** - Generische Berechtigungsbeschreibungen (Ablehnung nach Prüfung)
6. **REQ-09** - Fehlende Demo-Zugangsdaten (Ablehnung nach Prüfung)
### App Review Notes Vorlage
```
Demo-Zugangsdaten:
- Benutzername: demo@fittrackpro.com
- Passwort: Demo1234!
- 2FA ist deaktiviert.
Hinweis: Die App erfordert ein Konto für Cloud-Sync und personalisierte Trainingspläne. Der Gast-Modus ist in Arbeit und wird im nächsten Update bereitgestellt. Bitte verwenden Sie die Demo-Zugangsdaten zur Bewertung.
Zusätzliche Informationen:
- Standortberechtigung wird nur beim Start einer Laufstrecke angefragt.
- HealthKit-Berechtigung wird nur beim ersten Sync mit der Health-App angefragt.
- Die Datenschutzerklärung ist unter https://fittrackpro.com/privacy erreichbar.
```
Melde dich an, um den vollständigen Prompt zu sehen
Weiter mit:
Mit der Anmeldung akzeptierst du unsere Nutzungsbedingungen und Datenschutz
Verwendung
Dieser Prompt ist für die Verwendung mit coding gedacht. Kopiere den Inhalt oben und füge ihn in dein bevorzugtes KI-Tool ein.
Für beste Ergebnisse passe die Platzhalter (eckige Klammern oder Großbuchstaben) an deine Anforderungen an.
Diskussion
0 Kommentare