Artículo

Cómo publicar una app de Expo en el App Store

Una guía práctica para publicar una app Expo, desde la inscripción en Apple Developer hasta la revisión del App Store.

Cómo publicar una app de Expo en el App Store

Ya había pasado por el proceso de publicar mi app de Expo en Google Play. Si leíste ese artículo, sabrás que Google Play y el App Store son mundos muy distintos. Apple tiene su propio ecosistema, herramientas, proceso de revisión y formas particulares de complicarte las cosas.

Esta es mi guía paso a paso para publicar una app de Expo en el App Store de iOS, desde crear una cuenta de Apple Developer hasta pulsar «Enviar para revisión». Incluye todo lo que me habría gustado saber antes de empezar.

Requisitos previos

Antes de empezar, asegúrate de tener:

  • Un proyecto de Expo funcional (flujo managed o bare)
  • Un Mac o acceso a uno. Apple requiere macOS para compilar apps de iOS de forma nativa, aunque EAS Build ofrece una alternativa.
  • Xcode instalado (la última versión estable)
  • Un Apple ID

❇️ Paso 1: Inscribirse en el Apple Developer Program

Este es el primer obstáculo. A diferencia del pago único de 25 $ de Android, Apple cobra 99 $ al año.

  1. Ve a developer.apple.com
  2. Pulsa «Account» e inicia sesión con tu Apple ID
  3. Inscríbete en el Apple Developer Program
  4. Introduce tus datos personales o los de tu organización
  5. Paga los 99 $

Una vez aprobada la inscripción, tendrás acceso a App Store Connect y al Apple Developer Portal, los dos paneles principales para todo lo que viene después.

❇️ Paso 2: Configurar tu app en App Store Connect

App Store Connect es donde gestionas la ficha de tu app, las compilaciones, los precios y los envíos.

  1. Ve a appstoreconnect.apple.com
  2. Pulsa el botón «+» y elige «Nueva app»
  3. Introduce los datos de la app:
    • Plataforma: iOS
    • Nombre: el nombre que se mostrará en tu app (elígelo con cuidado, ya que cambiarlo es complicado)
    • Bundle ID: debe coincidir exactamente con el valor de la configuración de Expo
    • SKU: un identificador interno único
  4. Pulsa «Crear»

La ficha de tu app ya está creada en App Store Connect. Todavía no hay ninguna compilación: solo el contenedor de la app.

❇️ Paso 3: Configurar tu proyecto de Expo para iOS

Abre app.json (o app.config.js) y comprueba que la sección de iOS esté completa:

{
  "expo": {
    "name": "Your App Name",
    "slug": "your-app-slug",
    "version": "1.0.0",
    "ios": {
      "bundleIdentifier": "com.yourname.yourapp",
      "buildNumber": "1",
      "supportsTablet": true,
      "infoPlist": {
        "NSCameraUsageDescription": "We need camera access to...",
        "NSPhotoLibraryUsageDescription": "We need photo access to..."
      }
    }
  }
}

Comprueba especialmente lo siguiente:

  • bundleIdentifier debe coincidir exactamente con el valor registrado en App Store Connect.
  • buildNumber debe incrementarse con cada carga, aunque la versión siga siendo la misma.
  • Añade cada permiso que use tu app a infoPlist con una descripción clara. Apple puede rechazarla si faltan descripciones o son imprecisas.

❇️ Paso 4: Gestionar certificados y perfiles de aprovisionamiento

Aquí es donde Apple más se diferencia de Android y donde muchos desarrolladores pierden horas. Necesitas dos cosas:

  • Un certificado de distribución, que demuestra que la compilación la has creado tú
  • Un perfil de aprovisionamiento, que vincula el Bundle ID de tu app con el certificado y autoriza su distribución

Opción A: dejar que EAS se encargue (recomendado)

Si usas EAS Build, puede gestionarlo todo automáticamente:

npx eas-cli credentials

EAS te pedirá iniciar sesión en tu cuenta de Apple y luego generará y guardará todo por ti.

Opción B: hacerlo manualmente con Xcode o el Apple Developer Portal

  1. En el Apple Developer Portal, abre Certificates, IDs & Profiles.
  2. Crea un nuevo certificado de distribución de iOS.
  3. Crea un App ID que coincida con tu Bundle Identifier.
  4. Crea un perfil de aprovisionamiento de distribución que vincule ambos.

💡 Lección aprendida: evita mantener varios certificados de desarrollador siempre que puedas. Apple limita su número por cuenta y revocar un certificado invalida los perfiles de aprovisionamiento que lo utilizan.

❇️ Paso 5: Compilar tu app

Usar EAS Build (recomendado)

npm install -g eas-cli
eas login
eas build:configure

Configura eas.json para producción:

{
  "build": {
    "production": {
      "ios": {
        "distribution": "store"
      }
    }
  }
}

A continuación, inicia la compilación:

eas build --platform ios --profile production

EAS compila tu app en la nube, gestiona la firma de código y te entrega un archivo .ipa listo para subir. No necesitas un Mac para este paso.

Usar Xcode (compilación local)

npx expo run:ios --configuration Release

También puedes abrir la carpeta ios/ en Xcode, seleccionar «Any iOS Device» como destino y elegir Product → Archive.

❇️ Paso 6: Subir la compilación a App Store Connect

Opción A: EAS Submit (la más sencilla)

eas submit --platform ios --latest

Opción B: Transporter: descárgala desde el Mac App Store, inicia sesión, añade el archivo .ipa y pulsa «Deliver».

Opción C: Xcode Organizer: después de crear el archivo, abre Window → Organizer, selecciona el archivo y elige Distribute App → App Store Connect → Upload.

❇️ Paso 7: Probar con TestFlight

Prueba siempre tu app con TestFlight antes de enviarla al App Store.

  1. En App Store Connect, abre TestFlight.
  2. Cuando se procese la compilación, añade testers internos (hasta 100 personas de tu equipo).
  3. Para los testers externos, primero tendrás que enviarla a la revisión beta (normalmente tarda 1–2 días).

❇️ Paso 8: Preparar la ficha del App Store

Apple exige todo lo siguiente antes de poder enviar la app:

  • Nombre (hasta 30 caracteres) y subtítulo (hasta 30 caracteres)
  • Categoría (principal y secundaria opcional)
  • URL de la política de privacidad (obligatoria)
  • Descripción (hasta 4.000 caracteres; aprovecha las primeras líneas)
  • Palabras clave (hasta 100 caracteres en total, separadas por comas)

Capturas de pantalla: Apple requiere tamaños específicos:

  • iPhone de 6,9 pulgadas (iPhone 16 Pro Max): obligatorio
  • iPhone de 6,7 pulgadas (iPhone 14 Plus / 15 Plus): opcional, pero recomendado
  • iPad Pro de 13 pulgadas (M4): obligatorio si tu app es compatible con iPad

❇️ Paso 9: Definir precios y disponibilidad

  1. Abre «Precios y disponibilidad».
  2. Elige «Gratis» o establece un nivel de precio.
  3. Selecciona los territorios donde quieres distribuir la app (por defecto, todos).
  4. Establece una fecha de disponibilidad (opcional).

❇️ Paso 10: Completar el cuestionario de privacidad

Apple exige que declares cómo gestionas los datos. Esta información aparecerá como la etiqueta de privacidad en la página de tu app. En App Store Connect, abre «Privacidad de la app» y responde con sinceridad: qué datos recopilas, si están vinculados a la identidad del usuario y si se utilizan para el seguimiento.

❇️ Paso 11: Enviar para revisión

En «Información para la revisión», deja una nota para el revisor de Apple. Si tu app requiere iniciar sesión, proporciona aquí las credenciales de prueba. Después, elige «Añadir para revisión» → «Enviar a revisión de apps».

❇️ Paso 12: ¡Publicar!

Cuando se apruebe, el estado de tu app será «Lista para la venta». Al enviarla, puedes elegir una de estas opciones:

  • Publicación manual: tú decides cuándo se publica la app.
  • Publicación automática: la app se publica en cuanto se aprueba.

🎉 Enhorabuena: tu app ya está en el App Store.

❇️ Para terminar

El proceso del App Store es menos transparente que el de Google Play, pero las siguientes versiones son mucho más sencillas una vez superada la primera. Lo que más tiempo lleva:

  1. Certificados y aprovisionamiento: deja que EAS se encargue.
  2. Capturas de pantalla: reserva tiempo suficiente para diseñarlas.
  3. La primera revisión: cuenta con 1–3 días y comprueba que nada falle.

El ecosistema de Apple requiere más aprendizaje, pero la audiencia del App Store es valiosa y sus estándares de calidad te benefician una vez dentro. ¡Mucho éxito con el lanzamiento! 🚀

Si te ha resultado útil, también escribí sobre Cómo publiqué mi app de Expo en Google Play — la misma guía paso a paso para Android. También puedes encontrar mis apps en vladsiu.com.