Comment tester les abonnements iOS RevenueCat en local ? Processus sur Mac distant 2026
📋 Table des matières
Symptôme — votre écran d’abonnement s’affiche, mais vous ne savez pas si le test vérifie RevenueCat, StoreKit ou Apple.
Réponse immédiate — commencez par le Test Store pour contrôler la logique de l’application, passez ensuite à la configuration StoreKit dans Xcode, puis validez le parcours Apple avec Apple Sandbox avant publication. Ces environnements ne se remplacent pas.
Ce guide s’adresse aux développeurs iOS qui viennent d’intégrer RevenueCat et veulent contrôler l’achat et le déblocage des droits.
Si vous devez surtout reproduire un achat dans le simulateur, concentrez-vous sur la configuration StoreKit.
Si votre équipe travaille sur un Mac distant, lisez aussi les contrôles de schéma, de secrets et de résultat de test.
Choisissez l’environnement selon ce que vous devez prouver
Un test réussi n’a de valeur que pour le périmètre effectivement testé. Le Test Store permet de vérifier la réaction de votre application et les droits transmis par RevenueCat. La configuration StoreKit de Xcode simule localement des transactions Apple pour le développement. Apple Sandbox sert à examiner le parcours de test associé à la plateforme Apple. RevenueCat et Apple décrivent ces usages dans leurs guides sur le Test Store, les tests à chaque étape du développement et la configuration StoreKit dans Xcode.
| Environnement | Ce que vous vérifiez | Ce qu’un résultat positif ne prouve pas | Appréciation pour une décision |
|---|---|---|---|
| RevenueCat Test Store | Réponse de l’application à un achat, à une annulation ou à un échec simulé ; mise à jour de CustomerInfo et des droits | Le fonctionnement du parcours d’achat Apple Sandbox ou la conformité des produits de production | Très adapté au contrôle rapide de la logique |
| Configuration StoreKit dans Xcode | Transactions simulées à partir des produits de votre fichier local et comportement de l’application dans ce scénario | Que les produits Apple sont créés dans App Store Connect ou que Sandbox fonctionne comme prévu | Adaptée à la reproduction locale dans Xcode |
| Apple Sandbox | Parcours d’achat de test sur la plateforme Apple avec des produits destinés à cette validation | Que tous les appareils ou tous les scénarios futurs se comporteront de façon identique | Nécessaire pour examiner le parcours Apple avant publication |
Ne transformez pas cette comparaison en note globale du projet. Les appréciations indiquent l’adéquation de chaque environnement à une tâche, pas une mesure de qualité ou de fiabilité. Si votre application échoue dans le Test Store, corrigez d’abord son traitement des états d’achat ; si elle ne réussit que dans ce contexte, ne concluez pas que l’intégration Apple est validée.
Préparez RevenueCat et les identifiants avant le premier achat
Commencez par vérifier que la configuration décrit le même produit du début à la fin : identifiant utilisé par l’application, produit déclaré dans RevenueCat et droit auquel l’achat doit donner accès. Dans RevenueCat, contrôlez l’association entre produits iOS et droits à partir de la documentation sur les produits et les droits iOS. Une erreur de correspondance peut laisser le paiement simulé réussir alors que l’accès attendu n’est pas accordé.
| Élément à contrôler | Où le vérifier | Règle pour le test |
|---|---|---|
| Identifiant de produit | Code de l’application, configuration StoreKit ou catalogue de test utilisé | Gardez une valeur cohérente entre les composants concernés ; ne confondez pas un identifiant de démonstration et celui d’un produit Apple |
| Droit d’accès | Configuration des droits et des produits dans RevenueCat | Vérifiez que le produit attendu active le droit que l’écran de l’application consulte |
| Identifiant utilisateur | Initialisation du SDK et état affiché dans RevenueCat | Notez l’identifiant de test utilisé afin de retrouver le client concerné sans exposer de données personnelles |
| Clé du SDK | Configuration de l’application | Utilisez la clé publique correspondant au projet et à l’environnement de test |
| Clé secrète | Configuration côté serveur, si votre intégration en a besoin | Ne l’intégrez pas à l’application ni au dépôt du projet |
La configuration du SDK RevenueCat distingue les paramètres nécessaires à l’application des accès qui ne doivent pas être distribués comme secrets côté client. Avant de lancer Xcode, notez le schéma actif, la clé chargée, le produit testé et l’identifiant utilisateur. Ces quatre éléments rendent un résultat reproductible ; sans eux, une capture d’écran d’achat donne peu d’indications sur la configuration réellement exécutée.
Pour conserver les valeurs sensibles hors du dépôt, injectez-les selon les règles de votre projet et limitez leur accès aux personnes qui en ont besoin. Utilisez des valeurs fictives dans les exemples, les journaux et les tickets : app_user_id_test, product_monthly_test et sdk_public_key_placeholder. Ce sont des marqueurs, pas des identifiants utilisables.
Commencez par le Test Store pour éprouver la logique de l’application
Le Test Store est un bon premier passage lorsque vous voulez répondre à une question précise : l’application présente-t-elle le bon écran, traite-t-elle les états d’achat attendus et accorde-t-elle le droit approprié ? Le guide de RevenueCat sur le fonctionnement du Test Store décrit cet environnement de test. Gardez toutefois son résultat dans son périmètre : il ne démontre pas le fonctionnement d’une transaction Apple Sandbox.
Procédez de façon contrôlée :
- Configurez les produits de test et leurs droits dans le projet RevenueCat.
- Assurez-vous que l’application initialise le SDK avec la clé publique du projet concerné et l’identifiant utilisateur prévu.
- Ouvrez l’écran d’abonnement et lancez un achat de test correspondant au produit sélectionné.
- Vérifiez le retour affiché par l’application : succès, annulation ou échec doivent conduire à des états compréhensibles et cohérents.
- Consultez CustomerInfo et confirmez que le droit attendu apparaît pour le bon utilisateur.
- Recommencez avec un état différent, puis consignez le produit, le schéma, l’identifiant de test et le résultat observé.
Ne vous contentez pas de constater que la fenêtre d’achat se ferme. Le contrôle utile porte aussi sur l’état de l’interface après l’opération, la possibilité de continuer sans achat et la règle qui détermine l’accès à la fonction payante. Si un achat est signalé comme réussi mais que le droit reste absent, vérifiez d’abord la correspondance produit-droit et l’utilisateur actuellement chargé, plutôt que de changer de clé au hasard.
À retenir — un achat simulé qui débloque correctement une fonction confirme un scénario applicatif dans cet environnement. Il ne confirme ni la disponibilité du produit dans le catalogue Apple ni la bonne exécution d’un achat Sandbox.
Passez à StoreKit local sans confondre simulation et catalogue Apple
La configuration StoreKit permet de tester dans Xcode des produits définis localement et de reproduire des transactions pour le développement. Le fichier est associé à un schéma de lancement ou de test ; ce choix fait partie du résultat et doit être vérifié avant chaque exécution. Apple explique la mise en place dans son guide de configuration des tests StoreKit dans Xcode.
Dans votre fichier local, alignez les identifiants de produits avec ceux attendus par l’application et la configuration RevenueCat. Puis sélectionnez le schéma qui utilise ce fichier, lancez l’application dans le simulateur et vérifiez les mêmes éléments que pour le Test Store : le produit choisi, le retour utilisateur, CustomerInfo et le droit associé. La documentation de RevenueCat sur les achats Apple et StoreKit local précise les éléments à vérifier pour cette intégration.
La configuration locale ne crée pas automatiquement le produit dans App Store Connect. Elle peut servir à travailler sur le comportement simulé de l’application avant que le catalogue Apple soit prêt, mais elle ne valide pas les métadonnées réelles ni l’ensemble du parcours de plateforme. En particulier, ne déduisez pas d’un achat local que les annulations, remboursements ou événements côté plateforme ont tous été éprouvés. Testez les scénarios requis dans l’environnement correspondant et consignez séparément les résultats.
Questions fréquentes sur les environnements de test
Le Test Store RevenueCat et Apple Sandbox vérifient-ils la même chose ?
Non. Le Test Store aide à examiner la réaction de l’application et la mise à jour des droits dans RevenueCat avec des achats de test. Apple Sandbox concerne le parcours d’achat de la plateforme Apple et les produits associés à cette validation. Consignez les résultats séparément : réussir le premier contrôle ne signifie pas que le second est accepté.
Peut-on tester avant de configurer le produit dans App Store Connect ?
Pour travailler sur la logique applicative, vous pouvez utiliser les produits du Test Store et une configuration StoreKit locale sans prétendre avoir validé le catalogue Apple. Assurez-vous que les identifiants locaux correspondent à ceux utilisés par l’application et RevenueCat. Lorsque vous devez vérifier les produits et le parcours Apple, ajoutez une étape Sandbox distincte.
Comment relier un fichier StoreKit à RevenueCat ?
Associez le fichier StoreKit au schéma Xcode prévu pour le test, puis contrôlez que les identifiants des produits locaux correspondent à la configuration RevenueCat. Une fois l’application lancée avec ce schéma, vérifiez le résultat dans l’interface, CustomerInfo et le droit attendu. Ne prenez pas ce test local pour une validation Sandbox.
Le simulateur sur un Mac distant peut-il valider un achat ?
Il peut reproduire des tests applicatifs avec le Test Store ou une configuration StoreKit locale, si Xcode et le schéma sont correctement préparés. Ce résultat reste celui d’un simulateur dans un environnement de développement : il ne suffit pas à valider le parcours Apple Sandbox pour une publication. Définissez la cible de test selon votre chaîne de distribution et les scénarios à accepter.
Validez ensuite le parcours Apple avec Sandbox
Quand l’application doit emprunter le parcours de test de la plateforme Apple, passez à Apple Sandbox. Consultez l’aperçu Apple des tests d’achats intégrés dans Sandbox et le guide RevenueCat consacré à l’App Store Sandbox. Ils permettent de distinguer cette validation des achats locaux dans Xcode et des tests effectués dans le Test Store.
Avant l’essai, vérifiez que vous utilisez le bon produit, le bon identifiant d’application et le bon environnement. Confirmez aussi que le compte de test et les réglages requis sont prêts selon les consignes Apple. Pendant le parcours, consignez séparément :
- l’affichage du produit et les informations présentées à l’utilisateur ;
- le retour d’achat dans l’application ;
- l’état du droit après l’achat ;
- les éventuels écarts entre le scénario local et le scénario Sandbox.
La réussite de l’achat et l’exactitude des informations commerciales sont deux contrôles différents. Un achat qui aboutit ne prouve pas à lui seul que le nom, le prix ou les informations affichées correspondent à ce qui est attendu dans le catalogue destiné à la publication. Vérifiez ces éléments dans le contexte Apple pertinent, plutôt que de les inférer d’un fichier StoreKit local.
Choisissez simulateur ou appareil selon le scénario que vous devez valider et les capacités de votre projet. Un simulateur distant est pratique pour répéter un parcours contrôlé ; si votre validation dépend d’un appareil physique ou d’un accès matériel particulier, vérifiez que cet accès est effectivement disponible. Les résultats du simulateur et ceux d’un appareil ne doivent pas être fusionnés sous une seule mention « validé ».
Rejouez le même contrôle sur le Mac distant
Un Mac distant peut héberger Xcode, le simulateur et les outils de construction macOS nécessaires à votre parcours. Il ne modifie pas, à lui seul, la portée des environnements : Test Store reste un test applicatif, StoreKit local reste une simulation et Sandbox reste l’étape de validation Apple. Le bénéfice opérationnel est surtout de séparer ce poste de test de votre machine quotidienne et de pouvoir reproduire une configuration définie.
Pour rendre la reprise fiable, utilisez le même commit et un schéma explicitement nommé pour chaque environnement. Avant l’exécution, vérifiez le fichier StoreKit associé, la clé du SDK chargée, le produit sélectionné et l’utilisateur de test. Après l’exécution, archivez le journal utile, le résultat visible dans l’application et la confirmation du droit dans RevenueCat. Si vous changez de schéma ou de clé, recommencez les contrôles d’identité : une ancienne session ou une configuration restée active peut attribuer le résultat au mauvais contexte.
Séparez enfin les réglages de test des réglages de publication. Ne laissez pas une clé ou un produit de test s’infiltrer dans la configuration destinée à la distribution. Avant de conclure, examinez le schéma de construction retenu et la configuration effectivement injectée ; une simple compilation réussie ne prouve pas que le bon environnement d’achat a été sélectionné.
Si votre développement est bloqué parce que vous travaillez sur Windows ou Linux, ou si le Mac local est déjà mobilisé pour d’autres tâches, les solutions de dépannage ont des limites concrètes : elles ne fournissent pas Xcode sur la machine non-Mac, elles rendent parfois la reproduction dépendante d’un Mac emprunté et elles peuvent mélanger tests et travail quotidien. La location d’un Mac avec MacDate peut isoler le poste de construction et de simulation sans achat immédiat de matériel ; comparez les informations sur les tarifs Mac et, si la proximité d’un environnement distant vous importe, consultez les options de Mac distant en Virginie. Cette solution convient surtout aux tests temporaires ou à un environnement séparé ; si vous avez besoin d’un poste physique dédié en continu ou d’un accès matériel local, évaluez ces contraintes avant de louer.