Construir una aplicación iOS tradicionalmente significa una cosa: necesitas Xcode, y Xcode significa macOS. Esa restricción es molesta 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 synclocalmente (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 (tu JS/HTML/CSS): lo haces localmente en Windows.
- Compilación nativa (archivo de Xcode, firma, subida): Capgo 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 ios/.
Requisitos previos
- Una aplicación Capacitor funcionando (cualquier marco de trabajo es válido).
- Una cuenta de desarrollador de Apple.
- Acceso a App Store Connect para la aplicación que deseas subir (para TestFlight/submitir a App Store).
- Su cuenta de Capgo y su token de API (
CAPGO_TOKEN).
1) Crea o Prepara Tu Aplicación de Capacitor (Windows)
Si ya tienes una aplicación web, omite 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 (por defecto para Vite): dist/ 2) Agrega __CAPGO_KEEP_0__ y la plataforma de 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
bunx cap init
bunx cap add ios
directorio. Asegúrate de que esté versionado y reproducible. ios/ Así que quieres que Capgo Build compile lo que está dentro ios/de él.
3) Sincronice siempre Activos Web en iOS antes de Compilar
Todos los cambios que hagas en 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 compilados en el proyecto nativo de iOS (los archivos Capgo Compilarán realmente).
4) Instala y autentica el Capgo CLI
Capgo Compilar se activa 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 los metadatos (ID de clave, ID de emisor, ID de equipo)
Si todavía necesita generar estos archivos, consulte la documentación de Capgo:
- Gestión de credenciales (¿qué guardar y cómo)
- Cómo obtener certificados y perfiles de configuración de iOS
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 de una sola vez), 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 y luego ejecute el mismo comando. build credentials save 6) Iniciar 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 Solo de Web
Capgo Construcción es para cambios nativos:
- agregando/removiendo Capacitor plugins
- cambiando permisos nativos
- cambiando iconos/pantalla de bienvenida
- actualizando Capacitor
- cualquier cambio en Swift/Objective-C
Para ajustes de interfaz de usuario diarios y correcciones de JavaScript, generalmente deseas Actualizaciones en Vivo (OTA), de modo que no se reconstruya el binario nativo cada vez.
Un buen flujo de trabajo de equipo es:
- Utiliza Actualizaciones en Vivo para cambios web frecuentes.
- Usa Capgo Build ocasionalmente cuando se necesitan cambios nativos.
Problemas comunes de Windows (y soluciones)
- Olvidando
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 enios/. - No haber cometido
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 reconstrucción 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: ship iOS apps from Windows:
- Envuelve tu aplicación web con Capacitor (
ios/en tu repositorio). - Construye activos web localmente, luego
cap sync. - 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 Compilaciones Nativas para el flujo de trabajo del producto en Capgo Compilaciones Nativas, 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.