Saltar al contenido principal
Guía

Construye una aplicación iOS desde Windows con Capacitor y Capgo Build

Envía un binario iOS real desde una máquina de desarrollo de Windows: envuelve tu aplicación web con Capacitor, luego utiliza Capgo Build para compilar, firmar y enviar a TestFlight sin necesidad de un Mac.

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Construye una aplicación iOS desde Windows con Capacitor y Capgo Build

Construyendo una aplicación iOS tradicionalmente significa una cosa: necesitas Xcode, y Xcode significa macOS. Esa restricción es incómoda si todo tu equipo está en Windows o Linux, o si simplemente no quieres mantener una máquina de compilación de Mac.

La combinación de Capacitor (para generar el proyecto nativo de iOS) y Capgo Build (para compilar y firmarlo en la nube) te permite realizar compilaciones de iOS y envíos a TestFlight desde una estación de trabajo de Windows.

Este guía muestra un flujo de trabajo pragmático que funciona bien en equipos:

  • Desarrolla en Windows como un proyecto web normal.
  • Mantén ios/ en tu repositorio (para que el estado nativo sea reproducible).
  • Ejecuta cap sync localmente (para que tu compilación web se copie en el proyecto de iOS).
  • Desencadenar una compilación de iOS en la nube con Capgo Build.

¿Qué realmente construyes dónde?

Hay dos compilaciones separadas en una aplicación Capacitor:

  • Compilación web Compilación nativa
  • Compilación nativa (archivo de Xcode, firma, subida): __CAPGO_KEEP_0__ Build realiza esto en hardware Mac en la nube. Esta separación es la clave: Capgo Build compila el proyecto nativo, pero espera que tus activos web ya estén sincronizados en

This separation is the key: Capgo Build compiles the native project, but it expects your web assets to already be synced into ios/.

Una aplicación __CAPGO_KEEP_0__ funcionando (cualquier marco de trabajo es válido).

  • A working Capacitor app (any framework is fine).
  • Acceso a App Store Connect para la aplicación que deseas subir (para TestFlight/submitir a la App Store).
  • __CAPGO_KEEP_0__ Build
  • Su cuenta de Capgo y su token API (CAPGO_TOKEN).

1) Crea o Prepara Tu Aplicación Capacitor (Windows)

Si ya tienes una aplicación web, omite los pasos Capacitor.

Ejemplo con Vite:

bun create vite@latest my-app
cd my-app
bun install

El build debe producir activos estáticos (por defecto para Vite): dist/ 2) Agrega __CAPGO_KEEP_0__ y la Plataforma iOS

bun run build

Instala Capacitor:

Install Capacitor:

bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli

En este punto tendrás un directorio. Asegúrate de que esté versionado y reproducible. __CAPGO_KEEP_0__ Build compila lo que hay dentro.

bunx cap init
bunx cap add ios

Asegúrate de que esté versionado y reproducible. ios/ Capgo Build compila lo que hay dentro. ios/__CAPGO_KEEP_0__ Build compila lo que hay dentro.

3) Sincronice siempre los activos web en iOS antes de construir

Every time que cambies tu aplicación web, haz esta secuencia en Windows:

bun run build
bunx cap sync ios

cap sync es lo que copia tus activos web construidos en el proyecto nativo de iOS (los archivos Capgo Build se compilarán realmente).

4) Instala y autentica el Capgo CLI

Capgo Build se desencadena a través del Capgo CLI. Con bun, utiliza bunx:

bunx @capgo/cli@latest login

O establece tu token mediante una variable de entorno en tu shell/CI:

export CAPGO_TOKEN="your_api_key_here"

5) Configura la firma de iOS para compilaciones en la nube

Para compilar iOS necesitas material de firma:

  • Certificado de distribución de Apple (.p12) y su contraseña
  • Perfil de provisión (.mobileprovision)
  • Clave de App Store Connect API (AuthKey_XXXXXX.p8y metadata (ID de clave, ID de emisor, ID de equipo)

Si todavía necesita generar estos archivos, consulte la documentación de Capgo:

El camino más fácil es: crear/exportarlos una vez (a menudo utilizando cualquier Mac disponible, un compañero de equipo o una alquiler a corto plazo), luego reutilizarlos desde Windows para cada construcción subsiguiente.

Una vez que tenga los archivos localmente, guarde los archivos de credenciales para Capgo Build:

bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./cert.p12 \
  --p12-password "password" \
  --provisioning-profile ./profile.mobileprovision \
  --apple-key ./AuthKey.p8 \
  --apple-key-id "KEY123" \
  --apple-issuer-id "issuer-uuid" \
  --apple-team-id "team-id"

Consejo: en CI, almacene los archivos de credenciales codificados en base64 como secretos, los desencripte en tiempo de ejecución, luego ejecute el mismo build credentials save 6) Inicie una construcción de iOS desde Windows

Desde su carpeta de aplicación:

Verá registros en tiempo real en su terminal. Si su clave de App Store Connect está configurada, __CAPGO_KEEP_0__ Build puede enviar el resultado de la construcción a TestFlight automáticamente.

bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release

You will see real-time logs in your terminal. If your App Store Connect key is configured, Capgo Build can submit the resulting build to TestFlight automatically.

7) Itera rápido: Actualizaciones en vivo para cambios web únicamente

Capgo El build es para cambios nativos:

  • Capacitor plugins de agregación/remoción
  • context:HTML fragmento de texto de una página de comparación de Capgo (clave de página `capwesome_diff_plugins_capgo`). Área de la página: página de comparación de Capwesome. Papel: párrafo de marketing o legal largo. Visto en: página capwesome.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `capwesome_diff_plugins_capgo` (Capwesome Diff Plugins Capgo).
  • modificando permisos nativos
  • updating Capacitor
  • actualizando __CAPGO_KEEP_0__

cualquier cambio en Swift/Objective-C Para ajustes de UI diarios y correcciones de JavaScript, generalmente deseas Actualizaciones en vivo

context:Área de la página: sección de problemas/soluciones de la página de inicio. Papel: título de sección o página. Visto en: página premium-support.astro. Clave de mensaje `ps_help_updates_title` (Ps Help Updates Title).

  • (OTA), por lo que no se reconstruye el binario nativo cada vez que se actualiza el contenido web. El flujo de trabajo de un equipo es: "Usa Actualizaciones en vivo para cambios web frecuentes."
  • Utiliza Capgo Build ocasionalmente cuando se necesitan cambios nativos.

Trampas comunes de Windows (y soluciones)

  • Olvidar cap sync: si tus cambios de interfaz de usuario no aparecen en la compilación de iOS, es probable que hayas construido la aplicación web pero no la sincronizaste en ios/.
  • No cometer ios/: Capgo Build compila el proyecto nativo. Si el folder no está en Git (o no está en tu contexto de compilación), la compilación no puede reproducir tu aplicación.
  • Cambios de plugins sin recompilar nativa: agregar un plugin es un cambio nativo; planifica una ejecución de Capgo Build (y una presentación en la tienda) posteriormente.

Resumen

No puedes ejecutar Xcode en Windows, pero puedes enviar aplicaciones iOS desde Windows: enviar aplicaciones iOS desde Windows:

  1. Envuelve tu aplicación web con Capacitor (ios/ en tu repositorio).
  2. Construye activos web localmente, luego cap sync.
  3. Utiliza Capgo Build para compilar, firmar y enviar tu binario de iOS desde el CLI.

Sigue adelante desde Construye una aplicación de iOS desde Windows con Capacitor y Capgo Build

Si estás utilizando Construye una aplicación de iOS desde Windows con Capacitor y Capgo Build para planificar la automatización de CI/CD, conecta con Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo Builds nativos para el flujo de trabajo del producto en Capgo Builds nativos, Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones Integración CI/CD para el detalle de implementación en Integración CI/CD, y GitHub Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones

Actualizaciones en vivo para aplicaciones Capacitor

Cuando haya un error en la capa web en vivo, envía la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Apoyo humano de Martin

Iniciar ahora

Últimas noticias de nuestro Blog

Capgo te da las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.