Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

App-Store-Ablehnung

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

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 vonBehalten, wenn
Tracking Usage DescriptionApp Tracking Transparency, AdMobImmer. Laut Doku ist dieser Key Pflicht, und sein Entfernen lässt die App abstürzen. Behalte ihn auch ohne Werbung.
KameraDatei-Uploads von der Kamera, die Scanner qrcode:// und barcodescanner://, Dokumentenscanner, TaschenlampeDeine 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 BildernNutzer laden in deiner App Bilder hoch oder speichern sie.
Standort bei VerwendungHTML5-Geolocation mit nativer BerechtigungDeine 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 updatesOption backgroundlocationNur mit backgroundlocation auf true und einem echten Hintergrund-Anwendungsfall. Sonst beides löschen.
Face IDenableBioMetricAuth oder die bioauth://-APIDu nutzt biometrischen Login. Die Biometrie-Doku zeigt den nötigen Key.
Kontakte, Kalender, NFCContacts-API, iCal-API, NFC-PluginDu hast genau diese API aktiviert. Sonst löschen.
Background Modes: AudioHTML-HintergrundaudioDeine App spielt Audio im minimierten Zustand ab (Radio, Podcasts). Sonst löschen.

Räume das Projekt auf, bevor du neu einreichst

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Pakete auf der Hauptseite ansehen

Full Service

$698 pro Plattform $798

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.

Full-Service-Details Powered by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine App zu veröffentlichen?

App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen

Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.

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.