Guideline 2.5.1 (Software Requirements): Berechtigungen und Background Modes in einem WebViewGold-Projekt aufräumen
Das WebViewGold-Xcode-Projekt unterstützt Dutzende native Funktionen und bringt deshalb Berechtigungstexte für alle mit. Apple erwartet, dass eine App nur deklariert, was sie nutzt. Fünfzehn Minuten in Info.plist und im Capabilities-Tab machen aus einer 2.5-Ablehnung eine Genehmigung.
Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.
Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
Kein Programmieren nötig
Einmalzahlung, kostenlose Updates
24/7 Support von echten Menschen
Made in Germany seit 2014 · ISO 27001
9:41
Deine App
Deine AppJetzt auf dem Smartphone
App Store · Google Play Freigegeben
Was die 2.5-Regeln sagen
Abschnitt 2.5 (Software Requirements, also Software-Anforderungen) behandelt technische Anforderungen. 2.5.1 verlangt, dass Apps nur öffentliche APIs nutzen, und zwar für ihren vorgesehenen Zweck; Reviewer dehnen das auf Capabilities und Berechtigungen aus, die eine App deklariert, aber nie verwendet. 2.5.4 sagt, dass Background Modes nur für den Zweck aktiviert werden dürfen, für den sie gedacht sind (Audio, Standort, VoIP und so weiter). 2.5.6 verlangt, dass Apps, die im Web surfen, WebKit verwenden, und genau das tut die WKWebView von WebViewGold, diese Regel ist also auf deiner Seite.
Die Ablehnung liest sich etwa so: "Your app includes a usage description for Contacts but we could not find a feature that uses it". Apples automatisierte Prüfungen und der Reviewer schauen beide auf Info.plist und die Entitlements; eine Rezepte-App, die NFC anfragt, wirkt auf beide verdächtig.
Berechtigungstexte im Projekt und die WebViewGold-Funktion dahinter
Berechtigung (Purpose String in Info.plist)
Genutzt von
Behalten, wenn
Tracking Usage Description
App Tracking Transparency, AdMob
Immer. Laut Doku ist dieser Key Pflicht, und sein Entfernen lässt die App abstürzen. Behalte ihn auch ohne Werbung.
Kamera
Datei-Uploads von der Kamera, die Scanner qrcode:// und barcodescanner://, Dokumentenscanner, Taschenlampe
Deine Web-App hat einen Kamera-Upload, einen Scanner oder einen Taschenlampen-Button.
Fotomediathek (lesen / hinzufügen)
Bild-Uploads aus der Galerie, der Datei-Downloader beim Speichern von Bildern
Nutzer laden in deiner App Bilder hoch oder speichern sie.
Standort bei Verwendung
HTML5-Geolocation mit nativer Berechtigung
Deine Web-App ruft die Geolocation-API auf. Formuliere einen Zwecktext, der die Funktion nennt ("um Fitnessstudios in deiner Nähe zu finden").
Standort immer + Background Modes: Location updates
Option backgroundlocation
Nur mit backgroundlocation auf true und einem echten Hintergrund-Anwendungsfall. Sonst beides löschen.
Face ID
enableBioMetricAuth oder die bioauth://-API
Du nutzt biometrischen Login. Die Biometrie-Doku zeigt den nötigen Key.
Kontakte, Kalender, NFC
Contacts-API, iCal-API, NFC-Plugin
Du hast genau diese API aktiviert. Sonst löschen.
Background Modes: Audio
HTML-Hintergrundaudio
Deine App spielt Audio im minimierten Zustand ab (Radio, Podcasts). Sonst löschen.
Räume das Projekt auf, bevor du neu einreichst
Lösche die Purpose Strings, die du nicht brauchst
Öffne Info.plist in Xcode, sieh dir jeden "Privacy - ... Usage Description"-Eintrag an und entferne die für Funktionen, die nicht auf deiner Liste stehen. Behalte die Tracking Usage Description. Die Publishing-Doku beschreibt diesen Schritt.
Formuliere die Texte, die du behältst, neu
Ersetze den Vorlagentext durch den Zweck in deinen Worten: "Scanne den QR-Code auf deiner Mitgliedskarte zum Einchecken", nicht "Diese App benötigt Kamerazugriff". Konkreter Text hilft auch bei Guideline 5.1.1.
Prüfe Signing & Capabilities
Unter Background Modes sollte nur stehen, was du nutzt: Remote notifications für Push, Location updates nur mit backgroundlocation, Audio nur für Wiedergabe im Hintergrund. Entferne Capabilities, die du beim Experimentieren hinzugefügt hast.
Unterdrücke Abfragen, die du nicht brauchst
Wenn du kein Push nutzt, setze askforpushpermissionatfirstrun auf false, damit kein Benachrichtigungsdialog erscheint. Nutzt du Push, willst aber später fragen, lass es auf false und rufe registerpush:// nach dem Onboarding auf.
Neu bauen, jeden Berechtigungsdialog testen, Build-Nummer erhöhen
Jede verbleibende Berechtigung sollte genau in dem Moment erscheinen, in dem die zugehörige Funktion genutzt wird, und nirgends sonst. Lade dann den neuen Build hoch und antworte im Resolution Center mit der Liste der entfernten Keys.
Mit einer gut optimierten Version Ihrer Web-App können Sie innerhalb von wenigen Minuten eine beeindruckende mobile App erstellen. Zusätzlich dazu ist der Kundenservice sehr nett und hilfsbereit! Ich kann WebViewGold nur empfehlen :-)
Julian Koch · Mitbegründer von DuelDonkey · CodeCanyon
Weitere 2.5-Befunde, die Web-Wrapper-Apps treffen
Private APIs (2.5.1): nur ein Problem, wenn du Cursor oder Claude Code nativen Swift-Code hinzufügen lässt, der undokumentierte Methoden aufruft. Beschränke native Änderungen auf Config.swift und die dokumentierten Plugins.
Biometrischer Login (2.5.13): Gesichtsbasierte Authentifizierung muss über das System-Framework LocalAuthentication laufen, und genau das nutzen bioauth:// und enableBioMetricAuth.
Background Modes (2.5.4): Audio für eine App ohne Audio und Location updates "für alle Fälle" sind die Klassiker.
Prompt: Lass Claude Code oder Cursor das Projekt prüfen
Prompt für Claude Code / Cursor, geöffnet im WebViewGold-Xcode-Projektordner
Audit this WebViewGold iOS project for unused permissions. 1) Read Config.swift and list every native feature that is enabled (push, biometrics, geolocation, scanners, AdMob, file downloads, contacts, NFC, background audio, background location). 2) Read Info.plist and list every Privacy usage description key. 3) For each key, tell me whether an enabled feature needs it. 4) Produce the edited Info.plist with the unneeded keys removed, but keep NSUserTrackingUsageDescription in all cases. 5) Rewrite the remaining purpose strings so each names the concrete feature in my app: [describe your app]. 6) Tell me which Background Modes entries in Signing and Capabilities I should remove. Do not change anything else in the project.
Häufig gestellte Fragen
Macht das Entfernen von Berechtigungs-Keys später WebViewGold-Funktionen kaputt?
Nur die Funktion, die an diesem Key hängt. Wenn du in einem künftigen Update den QR-Scanner aktivierst, füge die Kamera-Usage-Description im selben Update wieder hinzu. Das Entfernen des Tracking-Keys ist die eine Änderung, die die App selbst kaputt macht.
Apple nennt 2.5.4, aber ich habe Background Modes nie angefasst. Woher kommen sie?
Prüfe Signing and Capabilities in Xcode. Vielleicht wurde ein Background Mode beim Nachbauen eines Tutorials für Push oder Standort aktiviert. Entferne ihn dort, baue neu und reiche erneut ein.
Hat der Cloud Builder dieses Problem?
Der Cloud Builder erzeugt die App aus den Funktionen, die du im Browser aktivierst, du bearbeitest Info.plist also nicht selbst. Aktiviere nur die Funktionen, die du nutzt, und schreibe Zwecktexte dafür.
Drei Wege, deine App in die Stores zu bringen
Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.
Selbst machen
$109 pro Plattform, einmalig
Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.
Kein Mac, kein Xcode, kein Android Studio: Du konfigurierst im Browser, wir bauen beide Apps in der Cloud und übergeben sie an App Store Connect und die Play Console.
Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.
Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.