Construir 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 firmar en la nube) te permite realizar compilaciones de iOS y envíos a TestFlight desde una estación de trabajo de Windows.
Esta 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). - Dispara una compilación de iOS en la nube con Capgo Build.
¿Qué realmente construyes en 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 (Xcode archive, signing, subir): 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 en funcionamiento (cualquier marco de trabajo 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).
- Tus credenciales de Capgo y API (
CAPGO_TOKEN).
1) Crea o Prepara Tu Aplicación Capacitor (Windows)
Si ya tienes una aplicación web, omite las etapas 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) Agregue Capacitor y la plataforma iOS
Instale Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Inicialice y cree la carpeta de la plataforma iOS:
bunx cap init
bunx cap add ios
Hasta este punto tendrá un ios/ carpeta. Comítele a git. Capgo Build compila lo que está dentro ios/, por lo que quiere que esté versionado y reproducible.
3) Sincronice siempre Activos Web en iOS antes de Compilar
Cada vez que cambie su aplicación web, haga esta secuencia en Windows:
bun run build
bunx cap sync ios
cap sync es lo que copia sus activos web compilados en el proyecto nativo de iOS (los archivos Capgo Build se compilarán realmente).
4) Instale y autentique el Capgo CLI
Capgo Build se activa a través del Capgo CLI. Con bun, utilice bunx:
bunx @capgo/cli@latest login
O establezca su token mediante la variable de entorno en su shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) Configure la firma de iOS para compilaciones protegidas
Para compilar iOS necesitas material de firma:
- Certificado de distribución de Apple (
.p12) y su contraseña - Perfil de configuración (
.mobileprovision) - Clave de App Store Connect API (
AuthKey_XXXXXX.p8) y metadatos (ID de clave, ID de emisor, ID de equipo)
Si todavía necesitas generar estos archivos, sigue la Capgo documentación:
- Gestionar credenciales (qué guardar y cómo)
- Cómo obtener certificados y perfiles de configuración de iOS
El camino más fácil es: crea/exporta estos una vez (a menudo utilizando cualquier Mac disponible, un compañero de equipo o una alquiler de una sola vez), luego reutilízalos desde Windows para cada compilación subsiguiente.
Una vez que tenga los archivos localmente, guarde los archivos para Capgo Compilación:
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 base64 codificados como secretos, los desencripte en tiempo de ejecución y luego ejecute el mismo comando. build credentials save 6) Desencadene una compilació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__ Compilación puede enviar la compilación resultante a TestFlight de manera automática.
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.
__CAPGO_KEEP_0__ Compilación es para cambios nativos:
agregar/quitar Capgo plugins
- adding/removing Capacitor plugins
- cambiar iconos/splash
- actualizar __CAPGO_KEEP_0__
- updating Capacitor
- cualquier cambio en Swift/Objetivo-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 del equipo es:
- Usar Actualizaciones en vivo para cambios web frecuentes.
- Usar Capgo Compilar ocasionalmente cuando se necesitan cambios nativos.
Pitfalls 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 Compilar 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 en el plugin sin reconstrucción nativa: agregar un plugin es un cambio nativo; planifique una Capgo Build (y una presentación en la tienda) posteriormente.
Resumen
No puedes ejecutar Xcode en Windows, pero puedes enviar aplicaciones iOS desde Windows: Envuelve tu aplicación web con __CAPGO_KEEP_0__ (
- Wrap your web app with Capacitor (
ios/Construye activos web localmente, luego - Utilice __CAPGO_KEEP_0__ Build para compilar, firmar y presentar tu binario iOS desde el __CAPGO_KEEP_1__.
cap sync. - Sigue adelante desde Construye una aplicación iOS desde Windows con Capgo y CLI Build
Keep going from Build an iOS App from Windows with Capacitor and Capgo Build
__CAPGO_KEEP_0__ Construya una aplicación de iOS desde Windows con Capacitor y Capgo Construya para planificar la automatización de CI/CD, conecte 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 de CI/CD para el detalle de implementación en Integración de CI/CD, y GitHub Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones.