Contexte
Un agent AI qui manipule physiquement un vrai iPhone pour tester systématiquement une application par rapport aux 135 guidelines de l'App Store d'Apple avant sa soumission.
Le problème
Nous avons analysé notre pipeline de développement pour identifier nos plus grandes pertes de temps. La réponse était claire : les allers-retours avec la validation Apple. Un rejet implique d'attendre plusieurs jours pour le prochain cycle de validation, de corriger le problème, de soumettre à nouveau et d'attendre encore. La première soumission est la plus difficile. Apple examine les nouvelles applications de manière beaucoup plus stricte.
Les rejets fréquents sont évitables : absence de Sign in with Apple, incohérences dans les labels de confidentialité, mention manquante sur l'écran d'abonnement, option de suppression de compte trop difficile à trouver. Ce ne sont pas des problèmes d'ingénierie. Ce sont des checklists de conformité que personne ne vérifie assez minutieusement avant de cliquer sur Soumettre.

Ce que j'ai développé
Un plugin Claude Code qui se connecte à un iPhone physique via USB, installe l'application et effectue une review App Store complète. Il parcourt chaque écran, teste chaque parcours utilisateur et compare les métadonnées d'App Store Connect avec le comportement réel de l'application. Le plugin utilise mobile-mcp pour exécuter des commandes automatiquement et est connecté à l'ASC CLI pour récupérer les métadonnées d'App Store Connect.
- Vérifie qu'un véritable iPhone est connecté (les simulateurs sont rejetés, Apple teste sur de vrais appareils)
- Compile et installe une version propre de l'application
- Récupère les métadonnées d'App Store Connect (captures d'écran, labels de confidentialité, abonnements, classification par âge)
- Exécute 9 phases de test : lancement, authentification, exploration des fonctionnalités, permissions, paiements, paramètres, cas particuliers, audit de contenu et légal, génération du rapport
- Produit un **rapport similaire à un rejet Apple** avec les numéros des guidelines, les preuves et les instructions de correction
L'agent navigue dans l'application comme le ferait un testeur humain : il découvre les écrans via les barres de navigation et les boutons, appuie sur chaque élément interactif, remplit les champs de texte, accepte les demandes de permission et prend des captures d'écran comme preuves à chaque étape.

Résultats
Il a détecté de véritables motifs de rejet sur plusieurs soumissions avant que nous ne perdions un cycle de validation : absence de Sign in with Apple à côté de la connexion Google, label de confidentialité ne déclarant pas la collecte de données analytiques, écrans d'abonnement sans le texte exact d'annulation exigé par Apple.
Le plugin Reviewer détecte également des problèmes qui nécessitent de l'intelligence car ils sont subjectifs. Par exemple, nous avons été rejetés par notre propre testeur sur notre application ScaleWeight pour des problèmes de formulation sur certains écrans de conformité.
Chaque problème détecté permet d'économiser 3 à 7 jours d'attente de validation. Pour les premières soumissions (où Apple est le plus strict), c'est la différence entre une approbation directe et des semaines d'allers-retours.

Durée
2026
Stack technique
Responsabilités
- Architecture et développement complets du plugin
- Pipeline d'automatisation iPhone via USB
- Implémentation de la checklist de conformité aux 135 guidelines
- Intégration avec l'App Store Connect CLI