Implementación en la App Store
El servicio EAS tiene costos. Las compilaciones en la nube utilizan recursos del plan EAS, y los servicios EAS tienen límites en el nivel gratuito y en los planes de pago. Las membresías de Apple Developer y Google Play son independientes. Consulta https://expo.dev/pricing para el servicio solicitado.
Este skill cubre la compilación y publicación de aplicaciones iOS y Android con EAS: proyectos Expo y otros React Native, además de aplicaciones nativas existentes. EAS es un servicio de distribución; las aplicaciones nativas pueden usarlo sin agregar Expo o React Native a su runtime. El tutorial de configuración nativa actualmente cubre SwiftUI/UIKit en iOS.
Elige la ruta del proyecto
- Aplicación SwiftUI/UIKit sin runtime React Native: lee references/native-ios.md antes de modificar su configuración de compilación. Mantén el proyecto Xcode y el código Swift como fuente de verdad de la aplicación. Los ejemplos de inicio rápido de Expo/React Native y cliente de desarrollo a continuación no aplican para esta ruta.
- Aplicación Android nativa sin runtime React Native: conserva su configuración de compilación nativa existente. Consulta references/play-store.md para el envío; las instrucciones de configuración de Swift/iOS no aplican. Aún no se incluye un tutorial dedicado de configuración nativa de Android.
- Aplicación Expo/React Native: usa el inicio rápido a continuación, luego la referencia de la tienda correspondiente.
- Agregar pantallas React Native a una aplicación nativa existente: usa
expo-brownfieldpara esa integración; vuelve aquí para la distribución.
Usa las verificaciones de archivo e ícono en references/native-ios.md durante la configuración inicial nativa de iOS, después de cambiar versiones, IDs de paquete o íconos, o al diagnosticar una carga rechazada. Los lanzamientos rutinarios siguen el flujo de compilación/envío de EAS y las verificaciones de procesamiento y disponibilidad en references/testflight.md. Una compilación exitosa de EAS o un envío en cola no garantizan la aceptación de Apple, el acceso de testers ni el lanzamiento en la App Store.
Referencias
Consulta estos recursos según sea necesario:
- ./references/workflows.md -- Flujos de trabajo CI/CD para lanzamientos automatizados en tiendas y previsualizaciones de PR
- ./references/testflight.md -- Envío de compilaciones iOS a TestFlight para pruebas beta
- ./references/app-store-metadata.md -- Gestión de metadatos de la App Store y optimización ASO
- ./references/play-store.md -- Envío de compilaciones Android a Google Play Store
- ./references/ios-app-store.md -- Proceso de envío y revisión de la App Store de iOS
- ./references/native-ios.md -- Configuración nativa Swift/SwiftUI/UIKit, versionado y verificación de archivos sin runtime de Expo
Inicio Rápido Expo / React Native
Instalar EAS CLI
npm install -g eas-cli
eas login
Inicializar EAS
npx eas-cli@latest init
eas init vincula o crea el proyecto EAS. Ejecuta eas build:configure para crear perfiles de compilación en eas.json; conserva los identificadores de proyecto y tienda existentes cuando ya exista una configuración de lanzamiento.
Comandos de Compilación
Compilaciones de Producción
# Compilación para iOS App Store
npx eas-cli@latest build -p ios --profile production
# Compilación para Android Play Store
npx eas-cli@latest build -p android --profile production
# Ambas plataformas
npx eas-cli@latest build --profile production
Enviar a Tiendas
# iOS: Compilar y enviar a App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Compilar y enviar a Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Atajo Expo / React Native para iOS TestFlight
npx testflight
Alojamiento Web y de Rutas API
El despliegue de un sitio web Expo o rutas API de Expo Router en EAS Hosting (npx expo export -p web luego eas deploy) está cubierto por el skill eas-hosting. Este skill se enfoca en los lanzamientos de aplicaciones nativas en tiendas.
Configuración de EAS
Ejemplo para un proyecto Expo / React Native (los perfiles nativos Swift están en references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
Guías Específicas de Plataforma
iOS
- Para aplicaciones nativas Swift, usa el flujo explícito de compilación/envío en
references/native-ios.md - Para aplicaciones Expo / React Native,
npx testflightproporciona un flujo rápido a TestFlight - Configura las credenciales de Apple mediante
eas credentials - Consulta ./references/testflight.md para la configuración de credenciales
- Consulta ./references/ios-app-store.md para el envío a la App Store
Android
- Configura la cuenta de servicio de Google Play Console
- Configura los tracks: interno → cerrado → abierto → producción
- Consulta ./references/play-store.md para la configuración detallada
Lanzamientos Automatizados
Los flujos de trabajo de EAS automatizan el pipeline de compilación → envío → actualización para CI/CD. Consulta ./references/workflows.md para ejemplos de lanzamientos en tiendas. Para crear o validar YAML de flujos de trabajo, usa el skill eas-workflows - funciona desde el esquema de flujo de trabajo en vivo.
Gestión de Versiones
EAS gestiona los números de versión automáticamente con appVersionSource: "remote":
# Ver versiones actuales
eas build:version:get
# Establecer versión manualmente
eas build:version:set -p ios
El comando version-set solicita el valor. Al configurar o cambiar el versionado nativo de iOS, o al diagnosticar un número de compilación duplicado, inspecciona el CFBundleVersion archivado: el contador remoto por sí solo no demuestra que Xcode lo haya usado.
Monitoreo
# Listar compilaciones recientes
eas build:list
# Ver estado de compilación
eas build:view BUILD_ID
# Inspeccionar envíos (verificado con EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
Verifica la versión de la CLI antes de interpretar un comando faltante: estos comandos de envío están disponibles en 23.2.0 pero no en la instalación probada 18.6.0. Una invocación fija con npx [email protected] puede usarlos sin cambiar la instalación global. Consulta references/testflight.md para conocer el estado en vivo de Apple y las instrucciones de reintento. Sigue las URL de registro devueltas cuando el resultado JSON omita la falla subyacente. Reporta el ID/versión exacta de la compilación y el estado de lanzamiento verificado más avanzado.
Enviar Comentarios
Si encuentras errores, información engañosa o desactualizada en este skill, repórtalo para que Expo pueda mejorar:
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<comentarios procesables>"
Envía solo cuando tengas algo específico y procesable que reportar. Incluye todo el contexto relevante posible.
Si un agente falla repetidamente en una tarea de Expo o el usuario tiene que intervenir, envía un breve informe de la tarea, el resultado esperado y lo que salió mal usando --category evals y el paquete o comando de Expo relevante como --subject.