Apps iOS con un agente de programación
Traducido automáticamente del inglés.
Leer en inglésUn agente de programación puede probar el registro de tu app como lo haría una persona: compilarla, ejecutarla en el iOS Simulator, rellenar el formulario con una dirección de prueba de Proxy Mail QA y luego introducir el código o abrir el enlace del correo. Proxy Mail QA da al agente la dirección y el código o enlace del correo; las herramientas propias del agente controlan el simulador.
Cada configuración de abajo empieza con Proxy Mail QA conectado al agente: pega la configuración de un solo prompt o conecta el MCP server a mano.
Para probarlo antes de usar un agente con tu propia app, usa el ejemplo de iOS: un registro pequeño con activación por correo y sin servidor. Tú mismo envías su correo de activación desde tu propia cuenta de correo, y el agente obtiene el código de Proxy Mail QA.
Panel iOS Simulator de Claude Code Desktop
Sección titulada «Panel iOS Simulator de Claude Code Desktop»Claude Code Desktop en una Mac puede ejecutar tu app en un simulador junto a la conversación, tocar las pantallas y leerlas (guía de Anthropic). Necesita Xcode con la plataforma iOS instalada, y debes permitir que Claude use cada simulador una vez.
Abre tu proyecto de iOS en una sesión de Claude Code Desktop con Proxy Mail QA conectado y pide:
Compila la app y ejecútala en el simulador. Regístrate con una nueva dirección de prueba de Proxy Mail QA, usando la contraseña que te da, luego ingresa el código de verificación del correo y comprueba que la app muestre la cuenta como verificada.
Claude entonces:
- Compila e inicia la app en el simulador.
- Llama a
create_address, conpassword: true, para obtener una dirección y una contraseña nuevas. - Toca el formulario de registro y las escribe.
- Llama a
wait_for_code(owait_for_link) para obtener el código o el enlace del correo. - Escribe el código, o abre el enlace en el simulador para que la app lo maneje. Abrir un enlace sigue el modo de permisos de tu sesión.
Para un enlace que debe abrir la app, pide ese enlace: “abre en la app el enlace de verificación del correo”. Si el correo tiene un enlace web y un enlace de app (myapp://…), el enlace web va primero; wait_for_link con app: true (o el app=true de REST API) pide el de la app. iOS pregunta “¿Abrir en tu app?” antes de que un enlace de app la abra, y Claude toca Abrir.
La pantalla del simulador puede mostrar un paso con un poco de retraso, así que Claude comprueba en una captura de pantalla que se ve lo que escribió antes de tocar el botón, y toma otra antes de decidir que un paso falló.
Las capturas del panel del simulador se envían a Anthropic como el resto de la conversación, así que usa solo cuentas de prueba en ese simulador. Las direcciones y contraseñas de Proxy Mail QA son cuentas de prueba por diseño.
Claude Code o Codex con las herramientas de Xcode
Sección titulada «Claude Code o Codex con las herramientas de Xcode»Xcode puede compartir sus herramientas de compilación y de proyecto con un agente que ejecutes fuera de él, mediante el propio MCP server de Xcode (guía de Apple):
-
En Xcode, elige Xcode → Settings → Intelligence y, en Model Context Protocol, activa Allow external agents to use Xcode tools.
-
Agrega las herramientas de Xcode al agente:
claude mcp add --transport stdio xcode -- xcrun mcpbridgePara Codex:
codex mcp add xcode -- xcrun mcpbridge -
Abre tu proyecto en Xcode y luego dale al agente las instrucciones de arriba.
Con ambos servidores conectados, el agente compila mediante Xcode y obtiene la dirección de prueba y el correo mediante Proxy Mail QA.
Los agentes propios de Xcode
Sección titulada «Los agentes propios de Xcode»Los agentes integrados de Xcode (Claude Agent, Codex y Gemini) pueden usar servidores MCP adicionales desde sus carpetas de configuración en ~/Library/Developer/Xcode/CodingAssistant/ (ClaudeAgentConfig, codex y gemini), y pueden instalar plug-ins de agente desde Intelligence settings → Plug-ins → Add Plug-in (guía de Apple).
Nuestro plugin para Claude Code incluye el MCP server y una skill que describe el flujo de registro; agregarlo allí desde su URL debería darle a Claude Agent de Xcode las mismas herramientas. Aún no hemos probado el soporte de plug-ins de Xcode, así que si no funciona, usa Claude Code o Codex junto con Xcode.
Qué más puedes pedir
Sección titulada «Qué más puedes pedir»Sin importar cómo esté conectado el agente, puede cubrir más partes del flujo:
- Un código dividido en casillas. Muchas apps muestran una casilla por dígito. El agente toca la primera casilla y escribe el código completo, que la mayoría de las apps reparten entre las casillas, y luego comprueba que cada dígito haya quedado antes de seguir: un código parcial cuenta como un intento incorrecto.
- Un formulario de registro más largo. Para un formulario que también pide un nombre de usuario con reglas, una fecha de nacimiento o un país,
form_valuesda un valor para cada campo a partir de una nueva dirección creada para ello. - El correo en sí. Cuando llega el código o el enlace,
check_emailconexpect_hostconfigurado en el dominio que abren los enlaces de tu app (por ejemplo, su dominio de Universal Link) comprueba que el enlace vaya allí, junto con SPF, DKIM, DMARC y una caducidad indicada.count_emailsdetecta un segundo correo enviado por error. - Un servidor de desarrollo en tu Mac. El simulador llega a tu Mac en
localhost, así que los enlaces alocalhost:3000de una compilación de desarrollo son esperados. Pide al agente que lo marque como entorno de desarrollo (mark_dev_host), o agrégalo en la configuración del proyecto, ycheck_emailaprueba esos enlaces en lugar de marcarlos como fallidos. - La misma cuenta la próxima vez. Pide al agente que registre dónde se usa la cuenta (
environment, comostaging, y etiquetas comoios) al crearla, para quelist_addressesla vuelva a encontrar. Con una clave de API autorizada a leer contraseñas guardadas,get_sign_indevuelve la cuenta y su contraseña en una sola llamada. - Un informe. Pide un informe de ejecución: el agente llama a
start_runal principio y afinish_runal final, que devuelve el informe en Markdown.
Ofertas y correos de marketing
Sección titulada «Ofertas y correos de marketing»Las mismas herramientas prueban lo que la app envía después del registro:
- El cupón. Después de registrarse en una oferta en la app, el agente espera con
wait_for_codeykind: coupon, que devuelve el cupón con su descuento y fecha de fin, y cuánto tardó (after_seconds). Escribe el cupón en el campo de promoción de la app, dividido en casillas como un código. - Checkout, solo en sandbox. Usa las pruebas de StoreKit en Xcode o el modo de prueba de la propia app, nunca una tarjeta real ni una compra real. El agente registra lo que hizo la app con
record_coupon_result:accepted,rejectedoerror, con el mensaje de la app. Volver a probar el mismo código comprueba que se rechace un código de un solo uso. - Un cupón como enlace que abre la app, como
myapp://redeem?code=…:wait_for_linkconapp: truelo devuelve, y el agente lo abre en el simulador conxcrun simctl openurl bootedy el enlace. - Una oferta por persona. Registrarse de nuevo con una variante de la misma dirección (
get_address_variantslas lista, comoname+promo1@…) y luegocheck_offersmuestra si la app dio la oferta dos veces. - Nombres y contraseñas difíciles.
get_name_variantsyget_password_variantsdan valores para los demás campos del formulario (apóstrofos, acentos, otros alfabetos, cada clase de símbolo, los límites del campo); el agente escribe cada uno e informa lo que hizo la app. - Consentimiento. Interruptores del registro y ajustes de notificaciones: el agente registra lo que eligió con
record_consent(y si el interruptor empezó activado), ycheck_emailevalúa el marketing que sigue según las reglas del lugar donde vive la persona. - Cancelar la suscripción, desde la pantalla de ajustes de la app o con el enlace del correo abierto en el simulador: el agente luego llama a
mark_unsubscribed, y más tardecheck_unsubscribelista cualquier correo de marketing que llegó después. Los recibos deben seguir llegando.
Escribirlo como prueba
Sección titulada «Escribirlo como prueba»Para Android, consulta Apps de Android con un agente de programación.
Para conservar la comprobación como una prueba de UI que se ejecuta en CI, consulta iOS (XCUITest), o Maestro para un flujo que también cubre Android. Sus helpers hacen lo mismo en una prueba: revisan y cuentan los correos, inician sesión con una cuenta guardada o toman una prestada, y agregan cada prueba al informe del pull request.
¿Tienes una pregunta sobre esta página?
Pregunta en cualquier idioma. La documentación puede responderte de inmediato, o puedes enviar tu pregunta al equipo de Proxy Mail QA, que responde en inglés.