option
MaisonMaison Skill Outils MCP ce-test-xcode

Créez et testez des applications iOS sur le simulateur avec XcodeBuildMCP.

...Développer tout
11
Heure mise à jour 27 août 2026

À propos de ce-test-xcode

Ce-test-xcode construit, installe et teste des applications iOS sur le simulateur en utilisant le serveur XcodeBuildMCP, capturant des captures d'écran et des journaux, et vérifiant le comportement de l'application. Il prend un argument optionnel pour le nom d'un schéma, ou « current » pour utiliser le schéma par défaut ou le dernier utilisé. Les prérequis incluent Xcode avec les outils en ligne de commande, un serveur MCP XcodeBuildMCP connecté, un projet ou espace de travail Xcode valide, et au moins un simulateur iOS disponible. L'invocation de modèle est désactivée, de sorte qu'il s'exécute en tant que commande explicite.

Le flux de travail vérifie d'abord que XcodeBuildMCP est connecté en appelant son outil list_simulators, et s'arrête avec des instructions d'installation s'il ne l'est pas. Il découvre ensuite les projets et les schémas (discover_projs, list_schemes), démarre un simulateur préféré tel que l'iPhone 15 Pro par UUID, et construit l'application avec build_ios_sim_app, signalant des erreurs spécifiques en cas d'échec. En cas de succès, il installe et lance l'application (install_app_on_simulator, launch_app_on_simulator) et commence la capture des journaux. Pour chaque écran clé, il prend une capture d'écran descriptive, examine le rendu et le contenu, et vérifie les journaux pour les plantages, exceptions, messages de niveau erreur et requêtes réseau échouées.

La compétence documente une limitation connue de la plateforme : les taps simulés ne peuvent pas déclencher des gestionnaires de gestes sur les vues SwiftUI Text avec des liens AttributedString intégrés, elle invite donc à effectuer un tap manuel ou propose xcrun simctl openurl comme solution de repli. Elle met en pause la vérification humaine pour les flux nécessitant une interaction avec l'appareil, y compris Se connecter avec Apple, les notifications push, les achats intégrés, la caméra et les photos, ainsi que la localisation, en utilisant l'outil de question bloquante de la plateforme tel que AskUserQuestion. En cas d'échec du test, elle documente l'erreur avec une capture d'écran et des journaux, et demande s'il faut corriger maintenant ou ignorer. Elle se termine par un tableau récapitulatif structuré des tests et une étape de nettoyage qui arrête la capture des journaux et éteint éventuellement le simulateur. Elle s'intègre également au flux de travail ce-code-review, qui peut lancer un agent pour exécuter cette compétence sur les PR touchant au code iOS.

FAQ

Quel serveur MCP cette compétence nécessite-t-elle ?

Elle nécessite que le serveur MCP XcodeBuildMCP soit connecté. Le flux de travail confirme la disponibilité en appelant son outil list_simulators et ne progresse pas tant que XcodeBuildMCP n'est pas opérationnel, fournissant des instructions d'installation via Homebrew et npx s'il est manquant.

Comment choisir le schéma à tester ?

Transmettez le nom du schéma en tant qu'argument, ou transmettez « current » pour utiliser le schéma par défaut ou le dernier utilisé. La compétence découvre les projets et les schémas avec discover_projs et list_schemes, et utilise l'argument fourni s'il est présent.

Pourquoi les taps sur les liens de texte SwiftUI ne fonctionnent-ils pas dans le simulateur ?

Les taps simulés ne déclenchent pas les gestionnaires de gestes sur les vues SwiftUI Text avec des liens AttributedString intégrés, car ces liens ne sont pas exposés en tant qu'éléments distincts dans l'arbre d'accessibilité. La compétence vous invite à tapoter manuellement, et peut utiliser xcrun simctl openurl pour ouvrir une URL cible connue directement comme solution de repli.

Quand met-elle en pause pour une saisie humaine ?

Elle met en pause les flux nécessitant une interaction réelle avec l'appareil, tels que Se connecter avec Apple, les notifications push, les achats intégrés, la caméra et les photos, ainsi que la localisation, en posant une question via l'outil de question bloquante de la plateforme et en ne jamais ignorer silencieusement la vérification.

Que fait-elle après un échec de test ?

Elle documente l'échec avec une capture d'écran de l'état d'erreur, des journaux de console capturés et des notes de reproduction, puis demande s'il faut corriger maintenant (déboguer, proposer une correction, reconstruire et retester) ou ignorer et continuer à tester les autres écrans.

Voir sur GitHub

Build and exercise an iOS app on a simulator, preserving screenshots, logs, human-verification results, and failures as evidence for the user.

Done:

  • A completed run reports overall PASS, FAIL, or PARTIAL plus project, scheme, simulator, build result, per-surface PASS / FAIL / SKIP, console errors, human checks, and residual failures.
  • Per-surface status is derived from evidence, not the user's routing choice. PASS requires completed passing evidence. FAIL records observed failing evidence until a completed retest replaces it. SKIP means the check has no completed outcome.
  • The overall result is FAIL while any failure remains, PARTIAL when no failure remains but a scoped check is skipped, and otherwise PASS.
  • Any failure before the launched-with-log-capture handoff stops later stages and reports an actionable setup blocker with its evidence.

Boundaries: this skill tests and reports. Diagnosis and any user-approved product fix belong to ce-debug, invoked with authority narrowed to return here without committing, pushing, or opening a PR. Keep simulator interaction within the app and flows the user placed in scope.

Run

  1. Prepare and launch. Read references/setup-and-build.md. It owns the XcodeBuildMCP availability gate, project and scheme discovery, simulator choice, build, install, launch, and log-capture start.
  2. Exercise and report. After launch, read references/test-and-report.md. It owns per-screen evidence, human-only flows, the SwiftUI inline-link automation limitation, failure routing, cleanup, and the fixed summary fields.

Do not replace either required read with remembered tool names. XcodeBuildMCP adapters differ by host, while their observable success conditions do not.

Tous les fichiers

1 fichiers
SKILL.md 6.3k
Voir

Installer ce-test-xcode

Téléchargez et extrayez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-test-xcode/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de la compétence dans .claude/skills/Claude détectera et utilisera automatiquement la compétence

Compétences similaires

office-mcp
Heure mise à jour 13 juillet 2026
mcpgraph
Heure mise à jour 29 juin 2026
composio
Heure mise à jour 29 juin 2026
connect-mcp-server
Heure mise à jour 29 juin 2026
OR