Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

Apple-Privacy-Manifest-Prüfung

Prüfen Sie ein iOS-Projekt vor dem Hochladen: Required Reason APIs ohne angegebenen Grund, Privacy Manifests, die App Store Connect ablehnt, falsch geschriebene Grundcodes, fehlerhafte Tracking-Domains, veraltete SDKs aus Apples Liste und Manifeste, die das Target nie einbindet.

$5.00

Das bekommst du: 1 Datei · 62.62 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

UserDefaults.standard in Ihrem Swift-Code ohne einen Eintrag NSPrivacyAccessedAPICategoryUserDefaults oder ein Grundcode, der als c617.1 statt C617.1 eingetippt wurde, reicht aus, damit App Store Connect einen Build ablehnt, und eine vollständige URL an der Stelle, an der Apple eine reine Tracking-Domain erwartet, macht das Manifest ungültig. Dieser Skill findet diese und die übrigen Fehler im Privacy Manifest, bevor Sie hochladen, und erklärt Ihnen, wie Sie jeden davon beheben.

Ihr Agent führt einen Scanner auf Ihrem Projekt aus: PrivacyInfo.xcprivacy-Dateien, die Manifeste, die Cordova (config.xml) und Expo (app.json, app.config.json) zur Build-Zeit schreiben, Info.plist und andere plists, Swift-, Objective-C- und C/C++-Code, Xcode-Projektdateien (klassische Gruppen und synchronisierte Ordner von Xcode 16), Package.swift, Podfile, Podfile.lock, Package.resolved und pubspec.lock von Flutter. Er prüft jeden Schlüssel und Wert anhand der Apple-Listen für Kategorien, Grundcodes, Datentypen und Zwecke, ermittelt, welches Manifest welchen Code abdeckt (App, Erweiterung, Swift-Paket), und überspringt Kommentare, Strings, Tests und eingebundenen Fremdcode (Pods, Cordova-Plugins und -Plattformen). Manifeste innerhalb von Pods werden nur auf das geprüft, was zur Ablehnung durch App Store Connect führt, und ein Manifest im Ressourcen-Bundle einer Bibliothek deckt den Code dieser Bibliothek ab. Er erstellt oder startet das Projekt nie. Das Ergebnis lautet BLOCK, REVIEW oder NOT FLAGGED, jeweils mit Datei, Zeile, Begründung und einem sichereren Vorgehen, und jede Regel verlinkt die zugrunde liegende Apple-Dokumentation. Geheimnisse werden nie ausgegeben.

Was geprüft wird

BLOCK (vor der Auslieferung beheben)

  • P01: in Ihrem Code verwendete Required Reason APIs (UserDefaults, @AppStorage, Dateizeitstempel, stat, systemUptime, mach_absolute_time, Schlüssel für Speicherplatz, statfs, activeInputModes) ohne ein Manifest, das die Kategorie deklariert (Projekte für iOS, iPadOS, tvOS, visionOS und watchOS)
  • P02: Manifeste (Dateien, Cordova config.xml oder Expo-Konfiguration), die keine gültigen Property Lists sind oder Schlüssel enthalten, die keine Privacy-Manifest-Schlüssel sind
  • P03: ungültige NSPrivacyAccessedAPITypes-Einträge (unbekannte Kategorie oder falsche Groß-/Kleinschreibung, nicht genehmigter Grundcode, falsch geschrieben oder aus einer anderen Kategorie, leere Grundliste, fehlender oder überzähliger Schlüssel)
  • P04: ungültige Tracking-Schlüssel (falsche Typen, Tracking true mit leerer Domainliste, Tracking false mit Domains, Einträge, die keine reine Domain sind: eine URL, ein Pfad, eine Query oder ein abschließender Schrägstrich)
  • P05: ungültige NSPrivacyCollectedDataTypes-Einträge (unbekannter Datentyp oder Zweck, fehlender oder überzähliger Schlüssel, Linked oder Tracking kein Boolean)

REVIEW (vor dem Release prüfen)

  • P11: Tracking-Angaben, die nicht zusammenpassen (true ohne Domainliste, Domains ohne NSPrivacyTracking, ein für Tracking verwendeter Datentyp, obwohl kein Tracking deklariert ist, eine App-Tracking-Transparency-Anfrage ohne Manifest, das angibt, dass die App trackt)
  • P12: Privacy-Manifest-Schlüssel in Info.plist oder einer anderen plist oder eine .xcprivacy-Datei mit falschem Namen
  • P13: SDKs aus Apples Liste, die auf Versionen ohne Privacy Manifest festgelegt sind (Alamofire, Kingfisher, SDWebImage, SnapKit, Lottie, SwiftyJSON, Starscream, Firebase, RxSwift, SVProgressHUD, RealmSwift, Charts, Facebook SDK, AFNetworking, MBProgressHUD), und eingestellte Flutter-Plugins (path_provider_ios, shared_preferences_ios, package_info, wakelock)
  • P14: eine PrivacyInfo.xcprivacy, die das App-Target nicht kopiert, oder ein Swift-Paket-Target, das sie nicht als Ressource deklariert
  • P15: Code, der die Werbe-ID, identifierForVendor, Standort, Kontakte oder Gesundheitsdaten ausliest, ohne passenden erfassten Datentyp
  • P16: eine Required Reason API, die im Manifest eines anderen Targets deklariert ist, aber nicht in dem neben dem Code (App-Erweiterungen, Frameworks)
  • P17: ein eigenes Manifest der App, das 0A2A.1 oder C56D.1 deklariert, Gründe, die Drittanbieter-SDKs vorbehalten sind
  • P18: Verwendung von Required Reason APIs in einem Expo-Projekt, dessen Manifest aus app.config.js oder app.config.ts stammt und die Kategorie nicht nennt (die Konfiguration kann nicht ausgeführt werden, daher ist dies ein Prüfpunkt)

Was enthalten ist

  • Der Scanner (Python 3.9+, nur Standardbibliothek)
  • Ein Regelleitfaden mit Begründung, sichererem Vorgehen und Link zur Apple-Dokumentation für jede Regel
  • Ein riskantes und ein sicheres Beispielprojekt (eine Notiz-App mit Widget, ein Swift-Paket, CocoaPods und eine kleine Expo-App) sowie der echte Bericht, den der Scanner für das riskante Projekt erzeugt

Grenzen

Der Scanner liest die Dateien des Projekts, nicht die gebaute App: Manifeste in binären SDKs, APIs, die nur von kompilierten SDKs aufgerufen werden, und Code in Kotlin, C# oder JavaScript werden nicht geprüft. Zur Build-Zeit erzeugte Manifeste werden aus Cordova config.xml und Expo app.json oder app.config.json gelesen; eine Expo app.config.js oder app.config.ts wird nur nach Kategorienamen durchsucht, und von Config-Plugins hinzugefügte Manifeste werden nicht erkannt. Welches Manifest welchen Code abdeckt, ergibt sich aus Ordnern, Swift-Paketen und dem Xcode-Projekt, nicht aus einem vollständigen Build-Graphen. Die SDK-Versionstabelle umfasst die oben genannten SDKs; andere SDKs aus Apples Liste werden nicht gemeldet. Ob ein deklarierter Grund dem entspricht, was der Code tatsächlich tut, und ob Daten das Gerät verlassen, lässt sich aus dem Text nicht entscheiden. NOT FLAGGED ist keine Garantie.

Inhalt

Eine ZIP-Datei mit 45 Dateien: SKILL.md, der Scanner in scripts/ (8 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (34 Beispieldateien plus report.md, die echte Scanner-Ausgabe für das riskante Beispiel).

So verwenden Sie ihn: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Coding-Agent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten dann, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne dass etwas installiert werden muss. Sie lesen ausschließlich Ihre Dateien: kein Netzwerkzugriff, und nichts wird irgendwohin gesendet.

Das bekommst du

1 Datei · 62.62 KB

  • apple-privacy-manifest-check-1.0.0.zipZIP · 62.62 KB
LizenzKommerzielle Nutzung erlaubt
PaketprüfungBestanden

Getly hat die hochgeladenen Dateien geöffnet und nichts gefunden, was das Öffnen verhindern würde. Das ist kein Virenscan und keine Qualitätsbewertung.

Veröffentlicht12. Nov. 2026
Dateigröße62.62 KB
DateiformatZIP
Versionv1.0

Tags

iosprivacy-manifestapp-storexcodeswiftai agent skill
R
RR HH

Häufige Fragen

Erhalte ich sofort Zugriff?

Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.

Darf ich es für kommerzielle Projekte nutzen?

Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.

Wie sind die Rückerstattungsbedingungen?

Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.

Welche Dateiformate und -größen erhalte ich?

Du lädst 1 Datei herunter - ZIP - insgesamt 62.62 KB.

Erhalte ich kostenlose Updates?

Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.

Preis

$5.00