Hacer una aplicación iOS tradicionalmente significa una cosa: necesitas Xcode, y Xcode significa macOS. Ese constraint es incómodo 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 Construcción (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). - Desencadena una compilación de iOS en la nube con Capgo Construcción.
¿Qué se construye realmente en dónde?
Hay dos compilaciones separadas en una aplicación de Capacitor:
- Compilación web (su tu JS/HTML/CSS): lo haces localmente en Windows.
- Nueva compilación nativa (archivo de Xcode, firma, subida): Capgo Compila hace esto en hardware Mac en la nube.
Esta separación es la clave: Capgo Compila 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 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, salta a los pasos de Capacitor.
Ejemplo con Vite:
bun create vite@latest my-app
cd my-app
bun install
Deben producirse 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
En este punto tendrá un ios/ directorio. Comítelo a git. Capgo Compila lo que está dentro ios/, por lo que quieres 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 Compilarán en realidad).
4) Instale y autentique el Capgo CLI
Capgo Se desencadena un build mediante el 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 builds en la nube
Para compilar iOS necesita 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 necesita generar estos archivos, consulte la documentación de Capgo:
- Gestión de credenciales (¿qué guardar y cómo)
- How to Get iOS Certificates and Provisioning Profiles
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, guarde los archivos 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 base64 codificados como secretos, los desencripte en tiempo de ejecución, luego ejecute el mismo comando. build credentials save 6) Desencadene 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 la construcción resultante 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.
__CAPGO_KEEP_0__ Build es para cambios nativos:
agregar/quitar Capgo plugins
- adding/removing Capacitor plugins
- modificar __CAPGO_KEEP_0__
- cambiar iconos/pantalla de inicio
- actualizar 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:
- Usar Actualizaciones en vivo para cambios web frecuentes.
- Usar Capgo Build ocasionalmente cuando se necesitan cambios nativos.
Problemas 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 sincronizasteios/. - Not committing
ios/: Capgo 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. - Plugin changes without native rebuild: agregar un plugin es un cambio nativo; planifica una Capgo Compila (y una presentación en la tienda) posteriormente.
Summary
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/Compila los activos web localmente, luego - Utiliza __CAPGO_KEEP_0__ Compila para compilar, firmar y enviar tu binario de iOS desde el __CAPGO_KEEP_1__.
cap sync. - Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
Sigue adelante desde Crear una aplicación iOS desde Windows con Capacitor y Capgo Build
Si estás utilizando Crear una aplicación 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 de CI/CD para el detalle de implementación en Integración de CI/CD, y GitHub Acciones de Integración para el detalle de implementación en GitHub Acciones de Integración.