Les équipes qui déploient les live updates Capacitor se posent la même question après les e-mails de revue d’Apple qui mentionnent pattern d’exécution à distance de code : cela bloque-t-il Capgo ?
Pour la plupart des apps Capacitor, non. Capgo remplace le bundle web que votre application exécute déjà. Il ne télécharge pas de Swift, de frameworks ou de bytecode, et ne transforme pas votre produit en mini store d’applications. Les règles citées par Apple sont réelles, mais elles ciblent une autre classe de comportements que le JavaScript signé livré à WKWebView ou JavaScriptCore.
Il s’agit d’un guide technique, pas d’un conseil juridique. Lisez le texte publié par Apple et consultez un avocat pour votre application.
Les trois textes cités par les reviewers
App Review 2.5.2 d'Apple
la règle 2.5.2 précise que les applications ne doivent pas « télécharger, installer ou exécuter du code qui introduit ou modifie des fonctionnalités de l’application, y compris d’autres applications. »
Review teams use that line when they see:
dlopen,dlsym, ou un chargement dynamique similaire,performSelector:et d’autres hooks d’exécution vers des API privées, ou- des scripts distants dont le rôl’est de modifier le comportement natif après validation.
C’est le pattern d’exécution à distance de code présent dans les lettres de rejet. Il ne s’agit pas d’une interdiction de tout octet téléchargé après l’installation.
Section 3.3.1(B) de l'ADPLA (interprétée code)
Le Contrat de licence Apple Developer Program section 3.3.1(B) permet le code interprété à être téléchargé lorsqu'il :
- ne modifie pas l'objectif principal de l'app,
- ne contourne pas la signature, le sandbox ou d'autres mécanismes de sécurité de l'OS, et
- ne crée pas un store ou une vitrine pour d'autres applications.
La couche web de Capacitor est interprétée par code par conception. Capgo remplace cette couche une fois que vos utilisateurs ont installé le binaire validé depuis l’App Store.
Section 3.3.1(C) de l'ADPLA (fonctionnalités supplémentaires)
Section 3.3.1(C) ajoute un autre garde-fou : sans l’approbation écrite préalable d’Apple ou une utilisation 3.3.9(A) autorisée des achats intégrés, une app ne peut pas fournir, débloquer ou activer des fonctionnalités ou des fonctions supplémentaires via des mécanismes de distribution autres que l’App Store, Custom App Distribution ou TestFlight.
Savoir si un bundle OTA donné franchit cette ligne relève d’une décision juridique de votre équipe. Capgo ne la prend pas à votre place. Le checklist de conformité noms 3.3.1(C) afin que vous puissiez évaluer chaque release.
Directive 4.7 et la clarification de novembre 2025
Actualisation des directives d’Apple du 13 novembre 2025 a clarifié Directive 4.7 pour les apps qui proposent du HTML5 et du JavaScript mini apps, mini jeux, chatbots, plug-ins et logiciels similaires non intégrés au binaire.
Si les utilisateurs naviguent ou lancent de nombreuses expériences logicielles distinctes au sein de votre app, vous pourriez avoir besoin des mécanismes de catalogue, d’indexation et de classification par âge de la section 4.7. La propriété des bundles ne tranche pas la question. L’ expérience que vous déployez fait.
Capgo est un canal de livraison pour votre les bundles sur votre les canaux. Ce n'est pas, en soi, un marketplace 4.7. Si votre produit est un hôte white-label ou une plateforme de mini-apps, prenez le 4.7 au sérieux avant de vous reposer sur les mises à jour OTA.
Ce que Capgo livre réellement
| Couche | Comportement de Capgo |
|---|---|
| Binaire natif | Inchangé. Les nouveaux plugins, permissions et entitlements nécessitent un build store. |
| Assets web | Les fichiers JavaScript, HTML, CSS, polices, images et fichiers statiques signés remplacent le bundle de l'application. |
| Exécution | S'exécute dans la WebView ou le moteur JavaScriptCore qu'Apple a déjà approuvé avec votre shell. |
| Chiffrement | Le chiffrement de bout en bout optionnel rend le contenu du bundle illisible par Capgo en transit et au stockage. |
Capgo vous aide à déployer des correctifs de la couche web en quelques minutes, à faire un rollback des bundles défectueux sur un canal, et à garder vos releases natives sur le circuit de l'App Store. Des milliers d'applications en production utilisent cette séparation sans transformer les live updates en loader natif distant.
Règles pratiques pour votre équipe
- Utilisez l'OTA pour les bugs, l'UI, les textes et les améliorations dans le produit examiné par Apple.
- Envoyez un nouveau binaire lorsque le code natif, les SDK, les permissions ou les entitlements changent.
- Do not use live updates to change pricing models, unlock hidden features, or pivot the app’s purpose.
- Documentez le fonctionnement des mises à jour dans les notes d’App Review si demandé.
- Lire toute la code et Capgo à distance d'Apple section avant votre prochaine release.
Pour la vue produit (canaux, rollback, signature), commencez par les live updates Capacitor. Pour l'analyse détaillée de la politique, utilisez le doc de conformité ci-dessus ou l'ancien guide dans Apple autorise-t-il les live updates ?.