# Publicar una app iOS sin Mac: guía con Expo y EAS

> Desde una PC con Windows, Expo y EAS compilan tu app iOS y la envían a Apple. Qué funciona sin Mac, qué se complica y por qué necesitas un iPhone.

Página original: [Publicar una app iOS sin Mac: guía con Expo y EAS](https://devoria.fr/es/blog/publicar-app-ios-sin-mac-expo-eas)
Autor: [Mehdi Azizi](https://devoria.fr/es/mehdi-azizi)
Publicación: 2026-09-23
Última revisión del contenido: 2026-10-09


## ¿Se puede publicar una app iOS sin Mac?

Sí. Puedes publicar una app iOS sin Mac si la construyes con Expo y React Native. EAS Build compila tu app en Macs alojadas por Expo, en la nube, y luego EAS Submit la envía a App Store Connect. La documentación de Expo lo dice claramente: EAS Submit funciona en macOS, Linux y Windows, así que [no necesitas una Mac para entregar una build de iOS](https://docs.expo.dev/submit/ios/).

Lo que sí necesitas son tres cosas que nada reemplaza: una [cuenta de Apple Developer de pago](https://devoria.fr/es/blog/cuenta-desarrollador-apple-precio), un iPhone para probar tu app de verdad y un navegador para completar la ficha en App Store Connect. El resto de esta guía detalla qué funciona desde una PC con Windows, qué se complica y en qué orden van los pasos.

Todas mis apps iOS pasan por esta cadena: Expo, EAS Build y luego EAS Submit. Solys y TradaZen están en el App Store así. Yo trabajo en Mac, pero ningún paso de la publicación depende de ella: las builds se hacen en la nube de Expo y el envío a Apple pasa por la línea de comandos.

## Cómo Expo y EAS reemplazan a la Mac

Para entender qué es posible, hay que saber por qué la Mac era obligatoria. Una app iOS se tiene que compilar con Xcode, la herramienta de Apple, que solo corre en macOS, en una versión lo bastante reciente para evitar el rechazo ITMS-90725. Después se tiene que firmar con un certificado vinculado a tu cuenta de desarrollador y enviar a App Store Connect.

Expo divide este trabajo en tres herramientas:

- **Expo y React Native**: escribes tu app en JavaScript o TypeScript, en cualquier computadora.
- **EAS Build**: lanzas el comando desde tu PC, el código se va a una Mac de Expo, que compila y firma la app por ti. Recibes un archivo listo para instalar o enviar.
- **[EAS Submit](https://devoria.fr/es/blog/eas-submit-ios-publicar-app-expo-app-store)**: toma esa build y la envía a App Store Connect. Después del procesamiento de Apple, que revisa por ejemplo el ícono (ITMS-90717), aparece en TestFlight.

La Mac sigue existiendo en la cadena. Simplemente, ya no es la tuya. Si quieres entender por qué recomiendo este stack a los principiantes, lee la página [React Native y Expo para una app móvil](https://devoria.fr/es/expertise/app-movil-react-native-expo).

## Qué se puede hacer desde una PC con Windows

### Programar la app

Todo el desarrollo se hace en Windows sin restricciones: tu editor (VS Code, Cursor), Node.js, la terminal. Si programas con ayuda de Claude o de ChatGPT, tampoco cambia nada. Sobre este tema, lee [crear una app iOS con IA](https://devoria.fr/es/blog/crear-app-ios-con-ia-trampas-verificaciones).

### Ver tu app en tu iPhone mientras programas

Para empezar, la app Expo Go, instalada en tu iPhone, lee un código QR que aparece en tu terminal y carga tu proyecto. Cada cambio aparece en el teléfono en pocos segundos. Es ideal para las primeras pantallas. Desde mayo de 2026, [la versión de Expo Go del App Store se queda en el SDK 54](https://expo.dev/changelog/expo-go-and-app-store-may-2026): crea tu proyecto eligiendo la compatibilidad con ella, o usa `eas go` y TestFlight para un SDK más reciente.

Expo Go tiene un límite: solo contiene los módulos nativos que ofrece Expo. En cuanto tu app usa una biblioteca nativa que no está incluida, como el SDK de RevenueCat para las suscripciones, necesitas una build de desarrollo: una versión propia de tu app, compilada por EAS Build, que instalas en tu iPhone.

### Instalar una build en tu iPhone sin pasar por el App Store

EAS ofrece la distribución interna. Registras tu iPhone con el comando `eas device:create` y luego lanzas una build con la distribución `internal`. Recibes un enlace de instalación. Apple limita este método: [una cuenta puede distribuir así a un máximo de 100 iPhone por año](https://docs.expo.dev/build/internal-distribution/), y cada dispositivo nuevo requiere una build nueva o una firma nueva. Para ti y algunas personas cercanas, alcanza de sobra.

### Gestionar los certificados sin Xcode

La firma es lo que más bloquea a los principiantes en Mac, hasta llegar al error ITMS-90034 al enviar. Con EAS, te conectas a tu cuenta de Apple desde la línea de comandos, y la herramienta [puede generar por sí sola el certificado de distribución y el perfil de aprovisionamiento](https://docs.expo.dev/build/setup/). Nunca abres el Acceso a Llaveros.

### Enviar tu app a Apple y publicarla

`eas submit --platform ios` envía tu build a App Store Connect. También puedes encadenar los dos pasos con la opción `--auto-submit` de `eas build`. Todo lo demás pasa en el navegador: la ficha del App Store, las [capturas de pantalla](https://devoria.fr/es/blog/tamano-capturas-app-store-medidas), las declaraciones de privacidad, las suscripciones, TestFlight y el envío a revisión. App Store Connect es una aplicación web y funciona muy bien en Windows.

## Qué no se puede hacer (o es más difícil) sin Mac

### El simulador de iOS en local

El simulador de iOS es parte de Xcode, así que no corre en Windows. En la práctica, no es grave: tu iPhone es mejor que el simulador para probar. En septiembre de 2026, Expo anunció un simulador de iOS en la nube, [EAS Simulator](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators), todavía en acceso limitado mientras escribo esto. No organices tu trabajo en torno a él hasta que esté abierto para todos.

### Depurar código nativo

Si un crash viene del código nativo (Swift, Objective-C, una biblioteca mal configurada), las herramientas de diagnóstico de Apple están en Xcode. Sin Mac, dependes de los logs de build de EAS y de una herramienta como Sentry, que reporta los crashes de la app instalada. Se puede, pero es más lento. Por eso conviene, para una primera app, quedarse con bibliotecas compatibles con Expo y con mantenimiento, lo que además evita un rechazo ITMS-90338 al enviar.

### Escribir extensiones nativas a mano

Widgets, extensiones de notificaciones, targets nativos específicos: es posible con Expo gracias a los config plugins, pero sin Xcode para inspeccionar el proyecto generado, cada error te cuesta una build más. Para una primera app, deja estas funciones para después.

### Compilar en local

Las builds locales de EAS (opción `--local`) [no son compatibles con Windows](https://docs.expo.dev/build-reference/local-builds/). En PC, tus builds de iOS pasan entonces por la nube de Expo. El plan gratuito de EAS incluye un número limitado de builds por mes, con fila de espera: revisa las condiciones actuales en la página de precios de Expo antes de planear una semana de trabajo intenso.

## La cuenta de Apple Developer: obligatoria, sin excepción

Ningún truco evita este punto, ni siquiera el Apple Developer Enterprise Program, reservado a las apps internas de grandes organizaciones. Sin [membresía del Apple Developer Program](https://devoria.fr/es/blog/membresia-apple-developer-renovacion-cancelacion), no hay App Store Connect, ni TestFlight, ni distribución interna, ni [envío al App Store](https://developer.apple.com/support/compare-memberships/). La membresía cuesta [99 $ por año](https://developer.apple.com/help/account/membership/programs-overview/), cobrados en tu moneda.

Dos consejos antes de inscribirte:

- **Elige bien entre cuenta individual y de organización.** Como individuo, tu nombre aparece como vendedor en el App Store. Como organización, aparece el nombre de tu empresa, pero Apple te pide un número D-U-N-S y una verificación más larga.
- **Calcula unos días.** La validación de la cuenta no siempre es inmediata. Inscríbete en cuanto sepas que vas a publicar, no el día antes del envío.

## Por qué de verdad necesitas un iPhone para probar

Técnicamente se puede publicar una app iOS sin haberla tenido nunca en la mano. Te lo desaconsejo totalmente, y Apple también: sus [reglas de revisión](https://developer.apple.com/app-store/review/guidelines/) (guideline 2.1) piden que la app se haya probado en un dispositivo, para detectar bugs y verificar la estabilidad, antes del envío. Tus usuarios solo van a tener eso: un iPhone real.

Esto es lo que solo un iPhone real te muestra:

- **El primer arranque real**, sin servidor de desarrollo: ahí se esconden los crashes al iniciar.
- **Las compras dentro de la app** en entorno de prueba, para verificar que tu paywall muestra los precios correctos y que la suscripción desbloquea la app.
- **Las notificaciones, la cámara, las vibraciones, los permisos**, que se comportan distinto o directamente no funcionan en otro lado.
- **El diseño real**: el notch o la Dynamic Island, la barra de inicio, el teclado que tapa un campo.
- **La fluidez**, que una computadora potente suele ocultar.

Un iPhone usado reciente es suficiente, siempre que corra una versión de iOS compatible con tu versión del SDK de Expo. Y si puedes, pide prestado también un iPhone de otro tamaño: una app que se ve bien en una pantalla grande puede quedar cortada en una pequeña. Justo eso me costó un rechazo con Solys, como cuento en [por qué Apple rechaza una app](https://devoria.fr/es/blog/rechazo-apple-por-que-rechazan-tu-app).

> Sin Mac, se puede. Sin iPhone, le envías a Apple una app que nunca viste funcionar.

## Los pasos, en orden, desde Windows

1. **Crea tu proyecto** con `npx create-expo-app` y prueba tus primeras pantallas con Expo Go.
2. **Instala EAS CLI** con `npm install -g eas-cli`, luego `eas login` y `eas build:configure`.
3. **Inscríbete en el Apple Developer Program** en cuanto tu proyecto tome forma.
4. **Registra tu iPhone** con `eas device:create` y lanza una build de desarrollo.
5. **Crea la ficha de tu app** en App Store Connect, con el mismo bundle identifier que en tu configuración de Expo.
6. **Lanza la build de producción** con `eas build --platform ios`.
7. **Envíala** con `eas submit --platform ios` y pruébala en TestFlight. La guía [TestFlight para probar tu app](https://devoria.fr/es/blog/testflight-probar-app-iphone-antes-de-enviarla) detalla este paso.
8. **Completa la ficha y [envía a revisión](https://devoria.fr/es/blog/waiting-for-review-app-store-connect-estados)** desde el navegador. El texto promocional, en cambio, se podrá cambiar después sin una versión nueva.

En esta etapa se repiten tres trampas. El número de build tiene que aumentar en cada envío: activa el incremento automático de EAS para olvidarte del tema. La pregunta sobre el cifrado bloquea cada build mientras no la respondas: puedes declararla de una vez por todas en la configuración de la app. Y el bundle identifier tiene que ser idéntico en todas partes; si no, EAS Submit no encuentra tu app. Para lo que sigue, de la ficha a la aprobación, la página [publicar una aplicación en el App Store](https://devoria.fr/es/expertise/publicar-una-app-en-app-store) cubre cada paso.

## Publica tu primera app, sin Mac y sin perderte

La Mac ya no es el verdadero obstáculo. Los verdaderos obstáculos están en otro lado: elegir una app que tenga posibilidades de generar ingresos, conectar suscripciones que funcionen, preparar un expediente que Apple acepte. Eso es lo que cubre el recorrido en cuatro etapas del [iOS Kit](https://devoria.fr/es/kits/ios), para seguir a tu ritmo. Para el expediente, el [Apple Review Kit](https://devoria.fr/es/kits/review-apple) reúne mi checklist antes del envío y las notas para el revisor. La página de inicio muestra cómo [crear una app móvil sin empezar de cero](https://devoria.fr/es) con Expo y Claude Code, con Mac o sin ella.

La decisión final de publicar tu app sigue siendo de Apple, y ningún kit puede garantizarla. Lo que sí te puedo dar es el método que aplico en mis propias apps.

## Preguntas frecuentes

### ¿Cómo publicar una app iOS sin Mac?

Con Expo y React Native, una Mac alojada por Expo reemplaza a la tuya. Programas en cualquier computadora, EAS Build compila y firma la app en la nube, y luego EAS Submit la envía a App Store Connect. También necesitas una cuenta de Apple Developer de pago, un navegador para completar la ficha y un iPhone para probar tu app de verdad.

### ¿Cuáles son los pasos para publicar una app iOS desde Windows?

Crea tu proyecto con Expo, instala EAS CLI e inscríbete en el Apple Developer Program. Registra tu iPhone, lanza una build de desarrollo y luego crea tu ficha en App Store Connect con el mismo bundle identifier que en tu configuración de Expo. Después lanza la build de producción, envíala con EAS Submit y pruébala en TestFlight; por último, completa la ficha y envía la app a revisión desde el navegador.

### ¿Cuánto cuesta publicar una aplicación en el App Store?

La membresía del Apple Developer Program cuesta 99 $ por año, cobrados en tu moneda. Es obligatoria: sin ella no hay App Store Connect, ni TestFlight, ni distribución interna, ni envío al App Store. Del lado de Expo, el plan gratuito de EAS incluye un número limitado de builds por mes, con fila de espera: revisa las condiciones actuales en la página de precios de Expo.

### ¿Hace falta un iPhone para publicar una app iOS sin Mac?

Técnicamente no, pero te lo desaconsejo totalmente, y Apple también: sus reglas de revisión (guideline 2.1) piden que la app se haya probado en un dispositivo, para detectar bugs y verificar la estabilidad, antes del envío. Un iPhone usado reciente es suficiente, siempre que corra una versión de iOS compatible con tu versión del SDK de Expo.

### ¿Cómo probar una app iOS sin Mac?

Instala la app Expo Go en tu iPhone: lee un código QR que aparece en tu terminal y carga tu proyecto, y cada cambio se ve en pocos segundos. Expo Go solo contiene los módulos nativos que ofrece Expo. En cuanto tu app usa una biblioteca nativa que no está incluida, como el SDK de RevenueCat, necesitas una build de desarrollo compilada por EAS Build. Para probar la build final, lee [TestFlight para probar tu app](https://devoria.fr/es/blog/testflight-probar-app-iphone-antes-de-enviarla).

### ¿Cuáles son los límites del desarrollo iOS sin Mac?

No puedes usar el simulador de iOS en local: es parte de Xcode, así que no corre en Windows. Las builds locales de EAS (`--local`) no son compatibles con Windows: tus builds de iOS pasan por la nube de Expo. Depurar código nativo y escribir extensiones nativas a mano siguen siendo posibles, pero son más difíciles, porque las herramientas de Apple están en Xcode.


## Tu proyecto

[iOS Kit](https://devoria.fr/es/kits/ios): Crea tu app para iPhone con Claude Code: el código base de mis apps, los skills que verifican su trabajo y los kits Apple Review, App Store Screenshots y ASO. 129,99 €.
