Saltar al contenido principal
Tutorial

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

Ship a real iOS binary from a Windows dev machine: wrap your web app with Capacitor, then use Capgo Build to compile, sign, and submit to TestFlight without owning a Mac.

Créditos del artículo

Martín Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Build an iOS App from Windows with Capacitor and Capgo Build

Construir una aplicación iOS tradicionalmente significa una cosa: necesita Xcode, y Xcode significa macOS. Esa restricción es molesta si todo su equipo está en Windows o Linux, o si simplemente no quiere mantener una máquina de compilación de Mac.

La combinación de Capacitor (para generar el proyecto nativo de iOS) y Capgo Build Permite realizar compilaciones y envíos a TestFlight de aplicaciones iOS 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 su repositorio (para que el estado nativo sea reproducible).
  • Correr cap sync localmente (así tu build web se copia en el proyecto de iOS).
  • Hay dos construcciones separadas en una aplicación Capgo:

¿Qué realmente construyes allí

Hay dos “compilaciones” separadas en una aplicación Capacitor.

  • compilación web Su código JS/HTML/CSS: lo haces localmente en Windows.
  • Compilación nativa (Xcode archive, firma, subir): Capgo El Capgo realiza esta tarea 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 ios/.

Prerequisites

  • Aplique Capacitor (cualquier framework está bien).
  • Una cuenta de desarrollador de Apple.
  • Acceso a App Store Connect para la aplicación que deseas subir (para TestFlight/App Store de presentación).
  • Tu cuenta de Capgo y el token de API.CAPGO_TOKEN).

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

Si ya tienes una aplicación web, salta a los pasos de Capacitor.

Ejemplo con Vite:

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

El build debe producir activos estáticos (para Vite esto es) dist/ por defecto):

bun run build

2) Agrega Capacitor y la plataforma iOS

Instala Capacitor:

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

Inicializa y crea la carpeta de la plataforma iOS:

bunx cap init
bunx cap add ios

At este punto tendrás un ios/ directorio. Comítalo a git. Capgo Construye lo que está dentro ios/, por lo que deseas que esté versionado y reproducible.

3) Sincroniza siempre Activos Web en iOS antes de construir

Cada vez 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 Construye que se compilarán realmente).

4) Instala y autentica el Capgo CLI

Capgo Construye se desencadena mediante el 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 (.p12y su contraseña)
  • perfil de provisión (.mobileprovision)
  • App Store Connect API clave (AuthKey_XXXXXX.p8) y metadatos (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/exportar estos 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, guárdelos para Capgo Construir:

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 descomprima en tiempo de ejecución y luego ejecute build credentials save comando.

6) Desencadena una compilación de iOS desde Windows

Desde tu carpeta de aplicación:

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

Verás registros en tiempo real en tu terminal. Si tienes configurada tu clave de App Store Connect, Build Capgo puede enviar automáticamente la compilación resultante a TestFlight.

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

Build Capgo es para cambios nativos:

  • agregar/quitar plugins Capacitor
  • cambiar permisos nativos
  • cambiar iconos/splash
  • actualizar Capacitor
  • cambiar cualquier cosa en Swift/Objective-C

Para ajustes de UI diarios y correcciones de JavaScript, generalmente deseas Actualizaciones en vivo (OTA), por lo tanto, no tienes que reconstruir el binario nativo cada vez.

Un buen flujo de trabajo del equipo es:

  • Utiliza Actualizaciones en Vivo para cambios web frecuentes.
  • Utilice Capgo Build ocasionalmente cuando se necesiten cambios nativos.

Pitfalls 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/: Build de Capgo compila el proyecto nativo. Si el directorio 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 reconstrucción nativaAgregando un plugin es un cambio nativo; planifica una ejecución de compilación Capgo (y una presentación en la tienda) posteriormente.

Resumen

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

  1. Wrap your web app with Capacitor (ios/ en tu repositorio).
  2. Construye activos web localmente, luego cap sync.
  3. Utilice Capgo Build para compilar, firmar y enviar su binario de iOS desde el CLI.

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

Si estás utilizando Build an iOS App from Windows with Capacitor and 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 Construcción nativa para el flujo de trabajo del producto en Capgo Construcción nativa, 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

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Soporte humano de Martin

Comienza Ahora

soporte humano de Martin

Capgo gives you the best insights you need to create a truly professional mobile app.