Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

Refus App Store

Guideline 2.5.1 (exigences logicielles) : faire le ménage dans les autorisations et les modes d'arrière-plan d'un projet WebViewGold

Le projet Xcode WebViewGold prend en charge des dizaines de fonctionnalités natives, il est donc livré avec des textes d'autorisation pour chacune d'elles. Apple attend d'une app qu'elle ne déclare que ce qu'elle utilise. Quinze minutes dans Info.plist et dans l'onglet Capabilities suffisent à transformer un refus 2.5 en approbation.

Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.

  • Garantie d'approbation – ou remboursement sous 14 jours
  • Aucun codage requis
  • Paiement unique, mises à jour gratuites
  • Support humain 24/7
  • Conçu en Allemagne depuis 2014 · ISO 27001

Ce que disent les règles 2.5

La section 2.5 couvre les exigences logicielles. La 2.5.1 demande aux apps de n'utiliser que des API publiques, et uniquement pour l'usage prévu ; les examinateurs étendent cette règle aux capacités et autorisations qu'une app déclare sans jamais s'en servir. La 2.5.4 précise que les modes d'arrière-plan ne peuvent être activés que pour leur usage prévu (audio, localisation, VoIP, etc.). La 2.5.6 impose aux apps qui naviguent sur le web d'utiliser WebKit, ce que fait précisément la WKWebView de WebViewGold : cette règle joue donc en votre faveur.

Le refus ressemble à « Your app includes a usage description for Contacts but we could not find a feature that uses it ». Les contrôles automatisés d'Apple comme l'examinateur regardent Info.plist et les entitlements ; une app de recettes qui demande l'accès NFC paraît suspecte aux deux.

Les textes d'autorisation du projet et la fonctionnalité WebViewGold derrière chacun

Autorisation (purpose string dans Info.plist)Utilisée parÀ garder si
Tracking Usage Description (suivi)App Tracking Transparency, AdMobToujours. La documentation indique que cette clé est obligatoire et que sa suppression fait planter l'app. Gardez-la même sans publicité.
Appareil photoEnvoi de fichiers depuis l'appareil photo, scanners qrcode:// et barcodescanner://, scanner de documents, lampe torcheVotre app web propose un envoi depuis l'appareil photo, un scanner ou un bouton lampe torche.
Photothèque (lecture / ajout)Envoi d'images depuis la galerie, enregistrement d'images par le gestionnaire de téléchargementsVos utilisateurs envoient ou enregistrent des photos dans votre app.
Localisation pendant l'utilisationGéolocalisation HTML5 avec autorisation nativeVotre app web appelle l'API de géolocalisation. Rédigez un texte d'usage qui nomme la fonctionnalité (« pour trouver les salles de sport près de chez vous »).
Localisation toujours + Background Modes : Location updatesOption backgroundlocationUniquement avec backgroundlocation réglé sur true et un vrai besoin en arrière-plan. Sinon, supprimez les deux.
Face IDenableBioMetricAuth ou l'API bioauth://Vous utilisez la connexion biométrique. La documentation sur la biométrie indique la clé requise.
Contacts, Calendriers, NFCAPI Contacts, API iCal, plugin NFCVous avez activé cette API précise. Sinon, supprimez-la.
Background Modes : AudioAudio HTML en arrière-planVotre app lit de l'audio lorsqu'elle est réduite (radio, podcasts). Sinon, supprimez-le.

Faites le ménage dans le projet avant de resoumettre

  1. Supprimez les purpose strings inutiles

    Ouvrez Info.plist dans Xcode, passez en revue chaque entrée « Privacy - ... Usage Description » et retirez celles des fonctionnalités qui ne figurent pas sur votre liste. Gardez la Tracking Usage Description. La documentation de publication décrit cette étape.

  2. Réécrivez les textes que vous gardez

    Remplacez le texte du modèle par l'usage réel, avec vos mots : « Scannez le QR code de votre carte de salle de sport pour vous enregistrer », et non « Cette app a besoin d'accéder à l'appareil photo ». Un texte précis aide aussi pour la guideline 5.1.1.

  3. Vérifiez Signing & Capabilities

    Background Modes ne doit lister que ce que vous utilisez : Remote notifications pour le push, Location updates uniquement avec backgroundlocation, Audio uniquement pour la lecture en arrière-plan. Retirez les capacités ajoutées pendant vos essais.

  4. Supprimez les demandes inutiles

    Si vous n'utilisez pas le push, réglez askforpushpermissionatfirstrun sur false pour qu'aucune boîte de dialogue de notifications n'apparaisse. Si vous utilisez le push mais voulez demander plus tard, laissez-le sur false et appelez registerpush:// après l'onboarding.

  5. Recompilez, testez chaque demande d'autorisation, incrémentez le numéro de build

    Chaque autorisation restante doit s'afficher au moment où la fonctionnalité correspondante est utilisée, et nulle part ailleurs. Envoyez ensuite le nouveau build et répondez dans le Resolution Center avec la liste des clés supprimées.

Avec une bonne version optimisée de votre application Web, vous pouvez avoir une superbe application mobile en quelques minutes. De plus, le service client est très agréable et très utile! Je ne peux que recommander WebViewGold :-)

Julian Koch · Co-fondateur de DuelDonkey · CodeCanyon

Les autres constats 2.5 qui touchent les apps web encapsulées

  • API privées (2.5.1) : un problème uniquement si vous laissez Cursor ou Claude Code ajouter du code Swift natif qui appelle des méthodes non documentées. Limitez vos modifications natives à Config.swift et aux plugins documentés.
  • Connexion biométrique (2.5.13) : l'authentification par reconnaissance faciale doit passer par le framework système LocalAuthentication, celui qu'utilisent bioauth:// et enableBioMetricAuth.
  • Modes d'arrière-plan (2.5.4) : Audio pour une app sans audio et Location updates « au cas où » sont les grands classiques.

Prompt : faites auditer le projet par Claude Code ou Cursor

Prompt pour Claude Code / Cursor ouvert dans le dossier du projet Xcode WebViewGold
Auditez ce projet iOS WebViewGold à la recherche d'autorisations inutilisées. 1) Lisez Config.swift et listez chaque fonctionnalité native activée (push, biométrie, géolocalisation, scanners, AdMob, téléchargements de fichiers, contacts, NFC, audio en arrière-plan, localisation en arrière-plan). 2) Lisez Info.plist et listez chaque clé Privacy usage description. 3) Pour chaque clé, dites-moi si une fonctionnalité activée en a besoin. 4) Produisez l'Info.plist modifié sans les clés inutiles, mais gardez NSUserTrackingUsageDescription dans tous les cas. 5) Réécrivez les purpose strings restantes pour que chacune nomme la fonctionnalité concrète de mon app : [décrivez votre app]. 6) Dites-moi quelles entrées Background Modes je dois retirer dans Signing and Capabilities. Ne modifiez rien d'autre dans le projet.

Questions fréquentes

Supprimer des clés d'autorisation va-t-il casser des fonctionnalités WebViewGold plus tard ?

Seulement la fonctionnalité liée à cette clé. Si vous activez le scanner QR dans une future mise à jour, rajoutez la description d'usage de l'appareil photo dans cette même mise à jour. Supprimer la clé de suivi est le seul changement qui casse l'app elle-même.

Apple cite la 2.5.4, mais je n'ai jamais touché aux modes d'arrière-plan. D'où viennent-ils ?

Vérifiez Signing and Capabilities dans Xcode. Un mode d'arrière-plan a pu être activé en suivant un tutoriel sur le push ou la localisation. Retirez-le à cet endroit, recompilez et resoumettez.

Le Cloud Builder a-t-il ce problème ?

Le Cloud Builder produit l'app à partir des fonctionnalités que vous activez dans le navigateur ; vous ne modifiez donc pas Info.plist vous-même. Activez uniquement les fonctionnalités que vous utilisez et rédigez leurs textes d'usage.

Trois façons de mettre votre app dans les stores

Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.

Faites-le vous-même

$109 par plateforme, paiement unique

La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.

Voir les offres sur la page principale

Full Service

$698 par plateforme $798

Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.

Détails du Full Service Propulsé par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app ?

Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours

Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.

Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.