Le rejet arrive juste après que le candidat de lancement a passé vos contrôles internes. Le binaire s'installe, la connexion fonctionne et l'équipe de lancement regarde déjà le calendrier. Ensuite, App Store Connect pointe vers une ligne directrice, une note de la réviseuse et une soumission bloquée. Pour une équipe Capacitor ou Electron, la récupération la plus rapide ne commence pas par une autre mise en ligne. Elle commence par identifier si la réviseuse a trouvé un binaire endommagé, des métadonnées inexactes, un manque de conformité ou un problème qui nécessite uniquement une clarification.
La porte de la revue d'Apple est une dépendance de lancement normale, pas un jugement personnel sur votre équipe. Rapport de transparence de l'App Store 2024 enregistrements 7,77 millions de soumissions d'applications examinées et 1,93 million rejetées, environ un sur quatreAvec performance, juridique, design, commercial et sécurité parmi les principales catégories de refus.Sommaire du rapport de l'App Store d'Apple 2024). Traitez le message comme un ticket d'incident, construisez une traçabilité de preuves et choisissez la plus petite voie conforme pour la récupération.
Table des matières
- Ce que signifie un rejet de l'App Store dans la réalité actuelle
- Diagnostiquer la vraie raison de votre rejet
- Préparez une soumission conforme qui passe la revue
- Écrire un recours efficace et discuter avec les examinateurs
- Réparer sans attendre lorsque la revue complète n'est pas nécessaire
- Prévenir la prochaine refus d'App Store avec des contrôles améliorés
Ce que signifie vraiment un refus d'App Store actuellement
La première erreur que les équipes commettent est de considérer l'e-mail de refus comme un verdict. En pratique, il s'agit d'un résultat de test provenant d'une seule voie de revue, d'un seul binaire soumis, avec un seul ensemble de métadonnées et d'instructions de revueur. Le revueur peut s'être arrêté à une erreur de crash, un accès mort, une capture d'écran trompeuse, un flux de paiement non expliqué ou une demande de permission qui ne correspond pas au produit.
L'échelle d'Apple rend cette distinction importante. En 2024, Apple a signalé 1 931 400 refus de 7 771 599 soumissions, approximativement 24.8%, ou environ un quart des soumissions (le rapport de transparence d'Apple de 2025). Les rapports antérieurs ont également enregistré 1 763 812 soumissions rejetées en 2023Alors qu'un rapport cité en 2022 a enregistré 1,679,694 (Le rapport de transparence d'Apple 2023Une rejet de l'app store est donc une porte de sortie de mise à jour régulière, pas la preuve que votre produit est particulièrement défectueux.

Lisez le message comme un rapport d'incident
Commencez dans le Centre de Résolution, pas dans le code. Capturez l'exactitude numéro de ligne de conduite, the reviewer’s reproduction steps, the affected screen or account, attachments, and the build number under review. A message citing Guideline 2.1 with a screen recording is a different problem from a metadata hold that names the subtitle or screenshots.
Classez le résultat avant d'attribuer du travail :
- Blocage dur. Le fichier binaire soumis ne peut être approuvé qu'après modification de la comportement, de la configuration, des permissions, des paiements, du contenu ou de la construction elle-même.
- Empêchement doux : Le binaire peut être valide, mais la liste ne décrit pas avec précision ce que les utilisateurs reçoivent.
- Demande de clarification : Le réviseur peut ne pas comprendre un modèle commercial, une dépendance matérielle, un chemin de compte ou une capacité native.
- Candidat à l'appel : Vous pensez que la règle citée n'a pas été appliquée correctement, ou que la version soumise du build la satisfait déjà et que vous pouvez le prouver rapidement.
Une application Capacitor mérite une attention particulière à la frontière entre les couches native et web. Les réviseurs peuvent rencontrer une vue WebView vide, un bundle JavaScript obsolète, un lien profond qui ouvre la mauvaise route, une page externe qui ressemble au produit principal, ou une demande de permission sans fonctionnalité visible derrière. Les soumissions Electron rencontrent une frontière similaire, surtout autour du contenu externe, du comportement d'actualisation, des permissions de plateforme et de savoir si l'expérience emballée offre plus qu'une fenêtre de navigateur.
Règle pratique : N'answer jamais “réglé” avant de pouvoir nommer le chemin de révision exact, la build exacte et la preuve qui prouve que le chemin fonctionne maintenant.
Un calendrier de revue dépend de la file d'attente d'Apple, de la complexité de l'incident et de savoir si le réviseur a besoin d'une autre passe. Ne promettez pas une date de lancement basée sur un retournement supposé. Si l'incident est clair, corrigez et resoumettez. Si la note est vague ou semble incorrecte, posez une question ciblée avant de passer un autre cycle de build. Les équipes gérant une sortie douloureuse peuvent bénéficier de la documentation du modèle de failure dans un post-mortem dédié, comme celui-ci L'incident de refus de l'App StoreAu lieu de compter sur la mémoire lors de la prochaine soumission.
Diagnostiquer la vraie raison de votre refus de publication.
La catégorie d'un examinateur est un point de départ, pas toujours la cause racine. Le rapport 2024 d'Apple place la performance, juridique, design, commercial et sécurité en haut des raisons de refus, et une analyse independante de ces données identifie les problèmes de complétion de l'application et les échecs liés à la performance comme le principal facteur technique. Cette analyse attribue plus de 1,2 million de citations 2024 à des problèmes de performance et dit plus de 40 % des refus non résolus entrent dans cette catégorie (analyse des raisons de refus de l'App Store).
La réponse utile est un exercice de triage court. Reproduisez le chemin de l'examenateur sur l'artefact soumis exact, avec le même état de compte, environnement et autorisations. N'entrez pas par la modification de panneaux non liés ou la réécriture des métadonnées car le refus ressent large.

Cartographiez la note à la vraie défaillance
| Signal de l'examenateur | Quels éléments tester en premier | Pièges courants Capacitor ou Electron |
|---|---|---|
| Performances ou complétude de l'application | Lancement froid, prise en charge, connexion, action principale, liens profonds, états hors ligne et d'erreur | Le bundle web manquant dans l'archive, étape de préparation API, itinéraire refusé, erreur de plugin natif |
| Légal ou confidentialité | Manifeste de confidentialité, déclarations de données, chaînes de permissions, suppression de compte, droits de contenu | Un tiers-partie SDK introduit un API ou comportement de collection non déclaré |
| Conception ou spam | Captures d'écran, états inachevés, navigation, différenciation, métadonnées de catalogue répétées | Un enveloppe générique, copie de remplissage, présentation de produit dupliquée |
| Affaires | Flux d'achat, formulation de l'abonnement, modèle d'accès, références de paiement externe | Entitlements numériques acheminées vers un site web ou un produit IAP non disponibles pour examen |
| Sécurité | Classement d'âge, contrôles de contenu généré par l'utilisateur, signalement, modération, permissions sensibles | Une fonctionnalité existe en production mais ses garanties sont absentes dans la version soumise |
Pour un rejet de performance, exécutez le flux exact à partir d'une installation propre et d'un compte de retour. Vérifiez les plantages, les gelages, les réponses vides de API, les écrans de remplissage, les liens brisés, les assets manquants et les drapeaux de fonctionnalité qui se comportent différemment en revue. Si la connexion nécessite un code unique, un appareil privé ou une liste d'autorisation backend, créez une route de revue qui fonctionne sans intervention de personnel et expliquez-la dans les Notes de Revue.
Pour les questions juridiques et de confidentialité, comparez trois artefacts : le binaire, les déclarations App Store Connect et votre politique publiée. Ils doivent décrire le même comportement. En 2026, une couverture independante met en évidence les omissions de manifeste de confidentialité, les disclosures de données partagées avec des tiers ou des IA et une exigence débutant le 28 avril 2026 les téléchargements que App Store Connect effectue Xcode 26 ou ultérieur avec un SDK iOS 26 (couverture des changements de rejet récents des magasins App Store et Play StoreConsidérez le toolchain comme partie intégrante de la conformité, et non comme une préférence de construction ultime.
Don’t stop at the première explication plausible
Un grief de conception peut cacher des préoccupations de fonctionnalité minimale ou de spam. Un grief de paiement peut refléter le modèle commercial plutôt que StoreKit code. Un problème d'authentification peut être le symptôme visible d'une application incomplète, et non un bug d'authentification.
Google Play a sa propre langue de revue et sa politique d'application, mais la même méthode opérationnelle s'applique. Conservez le message exact, reproduisez-le, identifiez la surface de politique, puis séparez une modification binaire d'une modification de liste ou de communication. Un audit de métadonnées pratique devrait couvrir les Exigences de métadonnées de l'App Store que les développeurs doivent connaîtrey compris savoir si chaque capture d'écran et chaque affirmation correspondent à l'expérience soumise.
Préparer une réévaluation conforme qui passe la revue
Une bonne réévaluation est une modification contrôlée, et non une remise en ligne précipitée. Conservez d'abord l'artefact rejeté. Enregistrez son numéro de build, sa version de bundle JavaScript, son fichier de verrouillage de dépendance native, son export de métadonnées, ses déclarations de confidentialité et ses notes de revue. Sans ce snapshot, l'équipe ne peut pas prouver ce qui a changé ou expliquer pourquoi une deuxième rejet se réfère à un échec différent.

Faites que la liste corresponde au binaire
Les réviseurs comparent la page de magasin avec le produit qu'ils peuvent utiliser. Remplacez les captures d'écran qui montrent des layouts non encore publiés, supprimez les affirmations selon lesquelles la build ne peut pas démontrer, et vérifiez le texte promotionnel, les mots-clés, la note d'âge, la catégorie et les liens de support comme un seul package. Une capture d'écran avec un texte de remplacement peut créer un problème de métadonnées même lorsque la fonctionnalité sous-jacente fonctionne.
Les abonnements et les achats ont besoin de leur propre pass. Confirmez que les noms de produits, les prix, les mots-clés de la période d'essai, le comportement de restauration, l'accès aux titres et les boutons d'achat décrivent le flux réel. Supprimez les références confusantes à un paiement externe pour le contenu numérique à moins que votre mise en œuvre régionale et spécifique au produit soit conforme et clairement documentée.
Rééditez les preuves de confidentialité et de permissions
Effectuez un audit de chaque plugin natif et SDK dans l'archive finale. Pour chaque permission, enregistrez la fonctionnalité qui l'utilise, l'explication qui s'adresse à l'utilisateur, le point auquel la demande apparaît, et le fallback lorsque l'accès est refusé. Supprimez les permissions dont l'application n'a pas besoin. Un plugin Capacitor peut ajouter des déclarations natives même lorsque le code JavaScript semble inoffensif, inspectez donc le projet iOS généré et l'application archivée plutôt que de vous fier à la couche web.
Vérifiez les étiquettes de confidentialité et les manifestes par rapport au comportement observé. Si un AI, des analytics, de la publicité, un rapport de crash ou une identité SDK partagent ou traitent des données, documentez cette relation et la divulguiez de manière cohérente. La création de compte devrait inclure une route de suppression en application où cela est requis, et le compte de l'examinateur devrait y avoir accès.
Produce a reviewer-friendly binary
Pour Capacitor, vérifiez que l'archive contient les actifs web prévus et que l'application ne dépend pas d'un serveur de développement. Testez les liens universels ou les liens profonds à partir d'un lancement froid, confirmez le comportement des notifications push et exercez chaque plugin natif utilisé dans le parcours principal. Pour Electron, empaquetez le contenu web de production, testez l'actualiseur et le comportement hors ligne, et confirmez que la navigation externe ne remplace pas l'expérience de bureau de base.
Construisez avec les versions requises de Xcode et SDK pour la date de soumission. Ensuite, exécutez un test sur appareil propre, et non seulement un test simulateur ou un installation de développeur. Votre candidat de mise en production devrait avoir un identifiant immuable qui relie l'archive, le paquet web, le rapport de test et les Notes de Revue.
Use Review Notes to remove reviewer guesswork:
- Accès : Fournissez des informations de connexion fonctionnelles et expliquez tout setup requis.
- Voie principale : Nommez la première écran et les actions exactes qui démontrent la fonction soumise.
- Matériel : Si un périphérique, une caméra, un signal de localisation ou une autorisation de notification n'est pas disponible.
- Achats : Identifiez les produits sandbox, les étapes de restauration et où le réviseur peut tester les droits d'accès.
- Changements : Énoncez la cause de la réjection, la correction spécifique et le chemin de test qui la vérifie.
Un flux de soumission axé est également documenté dans Gestion de la revue de l'App StoreMaintenez le note factuelle. Elle devrait aider le réviseur à vérifier la modification en quelques minutes, pas à les convaincre de l'urgence de lancement.
Écrire un Recours Effectif et Discuter avec les Réviseurs
Recourir lorsque la réjection est incorrecte, ambiguë ou déjà traitée par la version soumise. N'utilisez pas un recours pour éviter de corriger une défaillance claire, une fonctionnalité incomplète, une déclaration inexacte ou une violation de paiement. Un réviseur peut travailler avec une explication concise. Ils ne peuvent pas évaluer efficacement un essai défensif qui force à reconstruire votre produit.

Utilisez une structure basée sur des preuves
Écrivez quatre parties courtes :
- Reconnaître la ligne directrice. Dénommez la ligne directrice et montrez que vous comprenez la préoccupation.
- État le fait contesté. Expliquez précisément pourquoi le comportement ou le modèle soumis satisfait à l'exigence.
- Proposez un chemin de vérification. Incluez les détails de compte, les noms d'écran, les actions et les horodatages utiles.
- Joignez la preuve. Joignez un enregistrement d'écran ciblé, des captures d'écran annotées, des journaux, des documents de politique ou des preuves de configuration de produit.
Pour une préoccupation de conception ou de spam, démontrer la différenciation à travers l'expérience réelle, et non la langue de branding. Identifiez le flux de travail unique, la capacité native, le contenu original ou l'utilisation ciblée que le réviseur pourrait avoir manqué. Pour une rejet d'entreprise, séparez les biens physiques, les services, les abonnements et le contenu numérique, puis montrez exactement où se produit le paiement et ce que l’utilisateur reçoit.
Une réponse de performance devrait inclure le dispositif ou l'environnement testé, la voie échouée, la correction et le résultat nouveau. Évitez de prétendre que « tout fonctionne » lorsque seuls les éléments pertinents couvrent une seule route. Le réviseur a besoin d'une réponse étroite à la question citée.
Norme de communication : A un examinateur devrait être en mesure de vérifier votre affirmation sans poser une deuxième question.
Si le rappel ne cite qu'une ligne directrice large sans détail de reproduction utilisable, demandez des précisions via le Centre de Résolution. Si les réponses répétées n'ont pas résolu une interprétation ambiguë, demandez une conversation et apportez une liste écrite de questions spécifiques. N'allez pas menacer d'escalader ou présenter l'échange comme une négociation. La posture productive est : « Voici la ligne directrice, voici le comportement, voici la façon de le tester, et voici la preuve. »
Un appel devrait se tenir par lui-même. Liennez la page de politique pertinente lorsque nécessaire, mais ne cachez pas l'argument sous des documents non liés. Si vous avez modifié l'application après le rejet, dites-le clairement et resoumettez la nouvelle build plutôt que d'argumenter que la correction non soumise devrait être comptée.
Fixer Sans Attendre Lorsqu'une Évaluation Complète n'est Pas Nécessaire
La décision de publication devient plus claire lorsque vous séparez comportement de layer web de les droits natifs. Un équipe Capacitor ou Electron peut souvent corriger la copie, la mise en forme, la logique de route, les drapeaux de fonctionnalité, la configuration et d'autres comportements JavaScript ou CSS sans modifier le binaire natif. Les code natifs, les déclarations de droits, les déclarations de permissions, les plugins embarqués, la configuration de signature et les SDK changements nécessitent une nouvelle soumission de magasin.
That distinction doesn’t create a loophole. An over-the-air update can’t turn a prohibited business model into an approved one, remove a permission declaration already present in the binary, or replace a missing native capability that reviewers need to evaluate. It can correct a web-layer defect when the installed binary and update mechanism already comply with store rules.
Choisissez la voie la plus sûre.
| Situation | Voie de publication appropriée | Contrôle requis |
|---|---|---|
| Erreur de typo, incohérence de copie, défaut CSS, bug de route | Mise à jour web ciblée | Vérifiez les écrans modifiés et restreignez l'audience |
| Broken API endpoint or feature flag | Mise à jour web ou retrait de l'arrière-plan | Confirmez la voie de fallback et surveillez les erreurs |
| Crash du plugin natif ou permission manquante | Nouveau binaire | Refaire, tester l'archive, mettre à jour les déclarations |
| Problème d'implémentation de l'IAP ou d'entitlement | Nouveau binaire et configuration de l'application | Testez le comportement d'achat et de restauration de sandbox |
| Interprétation de la politique ou rejet de métadonnées | Modification de la liste, clarification ou resoumission | Expliquer la correction exacte dans les notes de revue |
Pour une correction du niveau web, publiez d'abord en version de test. Utilisez un bundle signé, un petit public de test, des journaux de niveau appareil, des signaux d'adoption et de failure, ainsi qu'une version de retrait explicite. Une fois que la route fonctionne sur les appareils pris en charge, promouvez l'artefact identique en production plutôt que de le reconstruire avec des modifications non suivies.
Capgo permet ce modèl’opérationnel pour les applications CapacitorJS et Electron en livrant des bundles web signés vers des canaux ciblés, avec une histoire de version, des mises à jour différentielles, une observabilité par appareil et une protection de retrait automatique. Les équipes peuvent utiliser les canaux pour les versions de test, les versions bêta, les versions de production ou les flux spécifiques aux clients, mais les contrôles doivent rester plus stricts que l'urgence. Un live update devrait rendre la récupération plus sûre, pas rendre invisible la revue de lancement.
La pratique Guide à mise à jour OTA sécurisée pour l'App Store est utile lors de la décision de savoir si le comportement refusé se situe dans la couche web modifiable ou dans le package natif. Gardez un enregistrement de la version native installée, du bundle délivré, de l'état de la politique et de la décision de rollback pour chaque public affecté.
Prévenir la prochaine refus de l'App Store avec des contrôles améliorés
Un refus devient coûteux lorsque l'équipe apprend d'une défaut prévenable seulement après soumission. La fixation durable est un système de contrôle de la mise en production qui traite le binaire de la boutique, le bundle web, les métadonnées, les déclarations de confidentialité et le chemin du réviseur comme une seule modification de production.
Démarrez par la CI. Faites échouer la construction lorsque le kit de développement Xcode ou le SDK requis est incorrect, que le manifeste de confidentialité manque, qu'une permission déclarée n'a pas de fonctionnalité mappée ou que l'archive de production contient des points de terminaison de développement. Ajoutez des vérifications pour les captures d'écran obsolètes, les chaînes de remplacement, les URL de support manquantes et les revendications de métadonnées qui ne figurent plus dans le produit. Ces vérifications ne remplacent pas la revue humaine. Elles suppriment les omissions évitables.
Faites de l'évidence de la mise en production automatique
Un enregistrement de version utile inclut :
- Identité de l'artefact : Compilation native, paquet web, numéro de révision source, fichier de verrouillage de dépendance et contexte de signature.
- Chemin du réviseur : Compte de test, route d'inscription, route d'achat, hypothèses de matériel et notes de révision.
- Preuves de comportement : Test d'installation propre, test de retour d'utilisateur, test de lien profond, test de refus de permission et comportement de panne en ligne ou en API.
- Contrôles opérationnels : Chaîne de production, audience de production, cible de retrait, tableau de bord de télémétrie et propriétaire en appel.
La télémétrie doit exposer les plantages, les lancements échoués, les erreurs de route, les exceptions de plugin, les échecs de connexion et l'adoption des mises à jour avant que le réviseur ne les rencontre. Gardez les données conformes à la vie privée et suffisamment utiles pour relier un incident à un appareil, une version native et un bundle web. Un retrait est seulement sûr lorsque vous savez quel artefact a causé le problème et pouvez arrêter la promotion supplémentaire.
Les équipes gérant les applications Android en dehors des magasins officiels peuvent également consulter APKUpdater pour le téléchargement d'applications Comme référence de gestion de distribution distincte. Le sidéloading ne supprime pas les obligations de politique de plateforme, mais il peut être pertinent dans des scénarios de distribution contrôlée interne ou alternative.
Gardez la liste de vérification humaine courte et obligatoire. Le produit confirme que la liste correspond à l'expérience. L'ingénierie confirme l'archive et les déclarations natives. La QA confirme le chemin de révision. Les propriétaires de la sécurité ou de la vie privée confirment les divulgations de données. La gestion de la mise en production enregistre l'artefact et le plan de retrait. Le processus de garantie de la qualité des mises en production devrait rendre ces approbations visibles plutôt que de les laisser dans les threads de discussion.
Une revue ennuyeuse est le but. Lorsque le CI détecte un dérive de manifeste, la production détecte les erreurs de route, la télémétrie détecte les plantages et le retrait protège les utilisateurs, une rejet de magasin devient un incident de mise en production contenant plutôt qu'une crise de lancement.
Capgo aide les équipes de CapacitorJS et Electron à livrer des correctifs web contrôlés, à cibler les mises à jour à travers les canaux de pré-production et de production, à observer l'adoption et les échecs, et à remonter lorsque la mise à jour se comporte mal. Visitez Capgo connecter votre flux de rejet de l'App Store à un processus de mise en production et de récupération plus sûr.