Apps « link in bio »
Un hub personnel avec des boutons vers Instagram, YouTube, une boutique et une newsletter. Chaque toucher fait quitter l'app.
Refus App Store
La 4.2.2 est la petite sœur, plus ciblée et plus tranchante, de la règle 4.2 sur la fonctionnalité minimale. L'examinateur n'a pas seulement trouvé votre app trop mince ; il a constaté qu'elle est surtout un menu de liens, une brochure marketing ou le contenu d'autres personnes dans un cadre. La solution n'est pas d'ajouter des liens, mais une tâche que l'utilisateur peut mener à bout dans l'app.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
La guideline 4.2.2 indique que, catalogues mis à part, les apps ne doivent pas être principalement des supports marketing, des publicités, des extraits de sites web, des agrégateurs de contenus ou une collection de liens. Le refus cite généralement « 4.2.2 - Design - Minimum Functionality » et décrit ce que l'examinateur a vu : l'app affiche surtout du contenu marketing, renvoie surtout vers l'extérieur ou reconditionne surtout des contenus venus d'ailleurs, et n'apporte guère de valeur durable à l'utilisateur.
La guideline 4.2 générale demande si votre app est plus qu'un site web reconditionné, et la réponse au refus « thin wrapper » couvre les apps qui sont très bien en tant que sites web mais donnent l'impression d'être Safari. La 4.2.2 porte sur la finalité. Une app magnifiquement native peut quand même la recevoir si son contenu principal est une liste de liens ou une publicité pour une entreprise. Ajouter des notifications push à une brochure ne change pas sa nature.
Un hub personnel avec des boutons vers Instagram, YouTube, une boutique et une newsletter. Chaque toucher fait quitter l'app.
À propos, services, équipe, témoignages, formulaire de contact. Utile une fois pour un prospect, pas quelque chose qu'on ouvre deux fois.
Un menu en PDF, des horaires d'ouverture et un bouton de réservation qui ouvre un site tiers.
Flux RSS, articles intégrés de sites d'actualité, listes de « bons plans » faites de liens d'affiliation. La valeur appartient aux sources, pas à l'app.
Le projet Lovable classique du week-end : « 200 outils d'IA » sous forme de cartes qui ouvrent chacune le site de l'outil.
Un programme et un plan du lieu qui renvoient vers la billetterie et le streaming. Très bien comme page, trop mince comme app.
| Ce que l'app propose aujourd'hui | Ce que les examinateurs veulent voir | Brique WebViewGold |
|---|---|---|
| Des boutons qui ouvrent des sites externes dans Safari | Le contenu important dans l'app ; la sortie est l'exception | openallexternalurlsinsafaribydefault sur false, domaines partenaires dans safariblacklist, pages secondaires dans un onglet intégré avec openspecialurlsinnewtab (documentation sur la gestion des URL) |
| Des pages de services et un formulaire de contact | Une tâche avec un résultat : réserver, commander, demander un devis et suivre son statut | Notifications push pour les changements de statut (kPushEnabled, oneSignalID), autorisation demandée avec registerpush:// après la première réservation |
| Un flux d'articles d'autres sites | Vos propres contenus ou une sélection qui apporte une valeur personnelle : éléments enregistrés, liste de lecture, progression | Favoris stockés sur l'appareil avec writevalue:// et readvalue:// (extrait ci-dessous), une page de secours hors ligne |
| Un menu en PDF | Un vrai menu avec catégories, allergènes, favoris, commande ou réservation, et une carte de fidélité | Carte Wallet avec addpkpass:// ; le PDF peut rester en téléchargement complémentaire |
| Un programme d'événement statique | Un agenda personnel, des rappels avant les sessions, un contrôle des billets à l'entrée | qrcode:// ou barcodescanner:// pour le contrôle à l'entrée, liens .ics pour le calendrier, rappels push |
| Un écran d'accueil rempli de liens | Des raccourcis vers les tâches que les gens répètent | Actions rapides sur l'écran d'accueil avec useShortcuts et Shortcuts.json, une barre d'onglets native avec showNavFooter |

Je suis très content d'avoir acheté cette application ! Extrêmement facile et excellente documentation. J'ai été en contact avec le service client, ils ont répondu très rapidement et très amicalement. Ils ont résolu ma question en un jour. 10/10 recommanderaient.
Apple exempte nommément les catalogues, et beaucoup d'apps de commerce s'appuient sur cette exception. Un catalogue passe quand il se comporte comme tel : navigation par catégorie, recherche, filtres, fiches produit avec disponibilité, favoris, et pourquoi pas un localisateur de magasins ou un scanner de codes-barres pour les recherches en magasin (le résultat de barcodescanner:// arrive dans la variable JavaScript barcodescanresult). Un catalogue qui n'est en réalité qu'une brochure PDF ou une grille de liens vers une boutique en ligne est traité comme un support marketing. Les biens physiques se vendent avec votre paiement web habituel, pas avec l'achat intégré ; voir la guideline 3.1.1 pour savoir où passe la limite.
Complétez cette phrase avant de toucher au code : « Dans [app], [qui] peut [tâche] en moins d'une minute. » Si vous n'y arrivez pas, l'app a d'abord besoin d'une décision produit, pas d'un build.
Ouvrez sur la tâche, pas sur une grande bannière d'accroche. Masquez les blocs marketing dans l'app avec du CSS réservé à l'app (documentation du CSS personnalisé) ou affichez une autre page de démarrage en détectant l'app grâce à useragent_iphone / useragent_ipad dans Config.swift.
Réglez la gestion des URL pour que vos propres contenus et les pages partenaires s'ouvrent dans l'app ou dans un onglet intégré. Seuls les profils sociaux et les services réellement externes doivent partir vers Safari.
Favoris, historique, progression, panier, filtre enregistré. Avec un compte, stockez-les sur votre backend ; sans compte, l'API Read/Write Value les garde sur l'appareil (documentation Read/Write Value).
Un vrai déclencheur de notification : votre commande est prête, la session commence dans 15 minutes, un article enregistré est de nouveau en stock. Une demande d'autorisation push sans rien derrière ne compte pas.
Confiez le build TestFlight à un ami et donnez-lui la tâche, pas des instructions. Là où il se perd, l'examinateur se perdra aussi.
Décrivez la tâche et l'emplacement de chaque fonctionnalité à l'aide du modèle ci-dessous, et mettez à jour les notes pour l'examen.
Un petit utilitaire pour les apps sans compte. Tout ce qui suit writevalue:// est stocké sous forme d'une seule chaîne ; readvalue:// la réinjecte sous la forme window.storedValues. Dans un navigateur classique, le code se rabat sur localStorage.
// Favoris via l'API Read/Write Value de WebViewGold, localStorage sur le web
// "MyAppIOS" est un marqueur que vous ajoutez à useragent_iphone et useragent_ipad dans Config.swift
const inApp = navigator.userAgent.includes("MyAppIOS");
function saveFavorites(ids) {
const value = JSON.stringify({ fav: ids });
if (inApp) {
window.location.href = "writevalue://" + encodeURIComponent(value);
} else {
localStorage.setItem("favorites", value);
}
}
function loadFavorites(callback) {
const parse = (raw) => {
try { return JSON.parse(decodeURIComponent(raw)).fav || []; } catch (e) { return []; }
};
if (!inApp) { callback(parse(localStorage.getItem("favorites") || "")); return; }
window.location.href = "readvalue://";
setTimeout(() => callback(parse(window.storedValues || "")), 200);
}Le modèle reste en anglais, la langue de travail des examinateurs.
Hello App Review team, Thank you for the feedback under Guideline 4.2.2. We agree that the previous build relied too much on links and marketing content, and we have reworked the app in build [number]. [App name] now helps [who] to [core job]. What changed: 1. The home screen opens on [task], not on marketing content. Promotional sections were removed from the app. 2. [Content / booking / ordering] now happens inside the app; only [social profiles] still open externally. 3. Users can [save favorites / keep a reading list / track their orders]; this is stored [in their account / on the device]. 4. Push notifications inform users when [order is ready / session starts / saved item is back]. How to test: log in with [demo account] or use the app without an account, then [3 short steps that show the job]. Best regards, [Name]
Rarement à elle seule. Si vous créez du contenu, construisez plutôt quelque chose que votre audience utilise régulièrement, comme des contenus exclusifs, un fil communautaire avec vos propres publications, des réservations ou une boutique avec suivi de commande, et gardez les liens sur un écran secondaire.
Les catalogues sont exemptés nommément, tant que l'app fonctionne comme un catalogue : catégories, recherche, fiches produit, favoris. Un catalogue qui n'est qu'un PDF ou une liste de liens vers une boutique en ligne est traité comme un support marketing.
L'agrégation pure de contenus d'autres éditeurs est exactement ce que vise la 4.2.2. Des reportages originaux, une vraie curation avec vos propres résumés, ou de la personnalisation et de la lecture hors ligne donnent à l'app sa propre valeur.
Non. Les comptes sont un moyen parmi d'autres de donner de la mémoire à l'app. Des favoris stockés sur l'appareil, du contenu hors ligne, des scanners ou une calculatrice peuvent convaincre tout autant, pourvu que l'utilisateur puisse accomplir une tâche.
La 4.2.2 juge la finalité de votre app. La 4.3 juge si elle fait doublon avec d'autres apps, y compris les vôtres. Vous pouvez recevoir les deux, et chacun demande sa propre correction ; voir le guide de la 4.3 pour le volet doublons.
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.
$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$349 par licence, extension en paiement unique
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Comment fonctionne le Cloud Builder Essayer la démo gratuite$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é parPrix Soldes d'hiver valables jusqu'au 31 décembre 2026.
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.