Saltar al contenido principal
iOS Capacitor Guías

Desarrollo iOS con Capacitor sin un Mac: qué funciona y qué no

Respuestas directas para equipos de Windows y Linux: qué tareas de iOS necesitan macOS y cuáles no, cómo obtener certificados, lanzamientos en TestFlight y App Store sin Xcode, y cómo encajan Capgo Build y Live Updates.

Desarrollo iOS con Capacitor sin un Mac: qué funciona y qué no

Cada semana alguien pregunta si se puede compilar, probar y publicar una app de Capacitor para iOS desde una máquina Windows o Linux. La respuesta honesta es que sí para casi todo, con una breve lista de excepciones. Esta página es la referencia: cada tarea, si necesita macOS y qué hacer en su lugar.

Lista completa de tareas

Tarea ¿Necesito macOS? Cómo hacerlo desde Windows o Linux
Escribe la app, ejecútala en el navegador No Cualquier editor, cualquier SO
Registro en Apple Developer Program No Navegador
Crear App ID y registro en App Store Connect No Navegador
Certificado de distribución No OpenSSL o el generador de certificados
Perfil de aprovisionamiento No Portal de Apple Developer
Clave API de App Store Connect No Web de App Store Connect
cap add ios, cap sync ios No Capacitor CLI, el aviso de CocoaPods es normal
Compilar y firmar el IPA Sí Build de Capgo ejecuta Xcode en la nube
Subir a TestFlight Sí, normalmente Capgo Build se sube con tu clave API
Enviar a revisión de la App Store No Web de App Store Connect
Instalar en un iPhone para pruebas No App de TestFlight o enlace IPA ad hoc
Enviar actualizaciones tras el lanzamiento No Live Updates de Capgo
Simulador de iOS Sí No hay sustituto; usa un iPhone real
Safari Web Inspector en iOS Sí Logs remotos, Chrome DevTools en Android para la capa web
Xcode debugger para crashes nativos Sí Alquila un Mac por horas cuando lo necesites
Editar Info.plist, entitlements, iconos No Archivos de texto e imagen en ios/
Añade un plugin Capacitor con code nativo de iOS No Instalar, cap sync ios, cloud build
Escribe code Swift personalizados Parcialmente Edita en cualquier editor; los errores de compilación aparecen en el log del cloud build

Por qué la compilación requiere macOS

Apple distribuye el SDK de iOS, xcodebuild y codesign solo para macOS, y la licencia los vincula al hardware de Apple. No existe ningún toolchain compatible con Linux o Windows que genere un IPA aceptado por la tienda. Hay proyectos que compilan iOS desde Linux de forma cruzada con fines de investigación, pero no firman el binario y App Store Connect no los acepta. Por eso todo flujo de trabajo funcional «sin Mac» traslada exactamente un paso a una máquina macOS: la compilación.

Las tres formas de conseguir esa máquina:

  1. Comprar un Mac. Sencillo, pero ahora necesita actualizaciones cada vez que Apple sube el mínimo de Xcode. Desde abril de 2026 es Xcode 26, que requiere un macOS reciente.
  2. Alquilar un Mac en la nube. Control total, toda la carga de mantenimiento y coste por hora, compiles o no.
  3. Usar un servicio de build. Envías el proyecto y te devuelve un IPA firmado o lo sube. Capgo Build es esta opción, mantenida con el Xcode actual para que el plazo de Apple no sea tu problema.

El flujo de trabajo mínimo sin Mac

# once
bunx cap add ios
bunx @capgo/cli@latest build init --platform ios

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

# every web-only change
bunx @capgo/cli@latest bundle upload --channel production

El primer bloque genera el proyecto y guarda las credenciales de firma. El segundo genera un build firmado y lo envía a TestFlight. El tercero omite por completo el build nativo para cambios web.

Guías detalladas: desde Windows y desde Linux.

Certificados sin Keychain Access

La parte que da miedo. En la práctica son tres comandos de OpenSSL y dos páginas del navegador:

openssl genrsa -out ios_distribution.key 2048
openssl req -new -key ios_distribution.key -out ios_distribution.csr -subj "/emailAddress=you@example.com/CN=Your Name/C=US"
# upload the CSR in the Apple Developer portal, download distribution.cer
openssl x509 -in distribution.cer -inform DER -out distribution.pem -outform PEM
openssl pkcs12 -export -inkey ios_distribution.key -in distribution.pem -out ios_distribution.p12 -legacy

Luego crea el provisioning profile de la App Store en el portal y la clave API en App Store Connect. Certificados de iOS y perfiles de aprovisionamiento explicados repasa cada tipo y error.

Testing sin el Simulator

Usa un iPhone real. El build llega a TestFlight pocos minutos después de que termine el build en la nube, y los testers internos se saltan la Beta App Review. Para dispositivos fuera de tu equipo, solicita un build ad hoc con --ios-distribution ad_hoc --output-upload y comparte el enlace. El guía de pruebas cubre todo el proceso, incluyendo cómo debuguear sin Safari.

Native code y plugins

Añadir un plugin de la comunidad es un bun add y un cap sync ios; el code de Swift se compila en la nube. Escribir tu propio Swift para un plugin personalizado también funciona desde cualquier editor. Pierdes el autocomplete y el feedback de compilación instantáneo, así que el enfoque práctico es mantener la parte nativa pequeña, compilar pronto con un debug cloud build y leer los errores desde el log de Xcode en streaming. --ai-analytics convierte un build fallido en un diagnóstico en lenguaje natural.

Cuando alquilar un Mac sigue siendo la opción correcta

  • Un crash nativo que no puedes explicar con los logs y necesitas el debugger de Xcode.
  • Un autor de plugins que itera en Swift a diario.
  • Una configuración inicial de la App Store donde quieres ver la UI de signing de Xcode una vez para entenderla.

Nada de esto es algo semanal para un equipo típico de Capacitor. Alquilar una Mac una hora cuando sea necesario es más barato que comprar una por desarrollador.

Resumen

El desarrollo de Capacitor en Windows o Linux cubre diseño, code, Android, certificados, TestFlight y la subida a la App Store. Solo la compilación es exclusiva de Apple, y Capgo Build se encarga. Con Live Updates para la capa web, un equipo sin Mac puede lanzar iOS al mismo ritmo que Android.

Live updates para apps Capacitor

Cuando un bug de la capa web está en producción, publica el fix a través de Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el flujo de revisión habitual.

Lo último de nuestro blog

Capgo te da la información clave que necesitas para crear una app móvil realmente profesional.