The best CI/CD platform for an iOS app depends on three things: what the app is built with, where your code already lives, and how much signing and Mac maintenance you want to own. Xcode Cloud fits native Apple-only teams, Bitrise, Codemagic, and Appcircle fit dedicated mobile teams, GitHub Actions, GitLab CI, CircleCI, and Azure DevOps fit teams that want one CI for everything, and Capgo Build fits Capacitor teams that want iOS builds without macOS runners. This comparison covers each one with the facts that matter for iOS in 2026.
¿Qué cambió para la CI/CD de iOS en 2026
- Xcode 26 es obligatorio. Desde el 28 de abril de 2026, App Store Connect rechaza subidas que no se construyeron con Xcode 26 y el iOS 26 SDK. Cualquier plataforma que elija debe ofrecer imágenes de Xcode 26, y los Macs autoalojados deben ser actualizados. Detalles en Requisito de Apple de Xcode 26.
- El Silicon de Apple es el default. Anfitriones de ejecutores macOS en GitHub, GitLab, CircleCI, Bitrise y Codemagic ejecutan en Apple Silicon. Se están retirando imágenes de Intel.
- Dos servicios administrados se han ido. Microsoft App Center se retiró el 31 de marzo de 2025. Ionic Appflow dejó de vender nuevas ventas en febrero de 2025 y termina el servicio el 31 de diciembre de 2027. Los equipos en cualquiera de ellas necesitan un nuevo hogar.
- App Store Connect API claves reemplazadas por inicio de sesión de Apple ID. Todo plataforma seria ahora autentica con una
.p8La clave API, que evita los prompts de dos factores que bloqueaban los trabajos de CI.
¿Qué comparar
Una canalización de iOS tiene más partes en movimiento que una web. Estas son las preguntas que separan las plataformas:
- ¿Quién proporciona el Mac? Alquilado, autoalquilado o abstracto.
- ¿Cómo se maneja la firma? Secretos manuales y scripts de keychain, o certificados y perfiles administrados.
- ¿Puede subir a TestFlight y presentarla para revisión ¿Sin herramientas adicionales?
- ¿Cuán rápido llegan nuevas versiones de Xcode?
- ¿Cómo se facturan? Por minuto, créditos, concurrencia o horas incluidas.
- ¿También construye Android? La mayoría de las aplicaciones envían ambas.
Matriz de características
| Plataforma | Proporcionado por Mac | Firma gestionada | Subida a TestFlight | Android | Modelo de precios |
|---|---|---|---|---|---|
| GitHub Acciones | Correcciones arm64 alojadas (macos-15, macos-26) o alojadas por el usuario |
No, secretos más scripts o fastlane | Via fastlane o altool |
Sí | Por minuto, macOS supera a Linux; gratuito para repositorios públicos |
| CI de GitLab | Correcciones macOS alojadas (beta, Premium/Ultimate) o gestionadas por el usuario | No, pero una integración de App Store Connect almacena la clave API | Via fastlane | Sí | Minutos de cálculo por nivel |
| Bitrise | Conjuntos de Apple Silicon alojados | Sí, gestión de certificados y perfiles | Pasos integrados | Sí | Créditos por minuto de compilación, niveles de plan |
| Codemagic | Mac minis de Apple Silicon alojados | Sí, obtiene o crea perfiles mediante la clave API | Publishing integrado | Sí | Planos por minuto o anuales fijos |
| Appcircle | Servidor Appcircle alojado o autogestionado | Sí, almacén de identidad de firma | Módulo de publicación integrado | Sí | Niveles de plan, autogestión empresarial |
| Xcode Cloud | Apple-managed | Sí, automático | Integrado | No | 25 horas/mes incluidas con la membresía, más por suscripción |
| CircleCI | Clases de recursos Apple Silicon alojadas | No, secretos y fastlane | Via fastlane | Sí | Créditos por minuto por clase de recurso |
| Azure DevOps | Agentes macOS de Microsoft alojados o autoalojados | Parcial, tareas instalan certificados y perfiles | Tarea de extensión de App Store | Sí | Trabajos paralelos |
| Capgo Construcción | Capgo-administrado, llamado desde cualquier CI | Sí, configuración guiada con build init |
Integrado, más enviar para revisión | Sí | Acciones de __CAPGO_KEEP_0__ pricing |
Notes on the matrix: “managed signing” means the platform stores or generates certificates and profiles for you, not just secret storage. Capgo Build only builds Capacitor apps; the others build native Swift projects too.
Plataforma por plataforma
Acciones de GitHub
El default para muchas equipos porque el flujo de trabajo vive junto a code. GitHub hospeda ejecutores de macOS Apple Silicon (macos-latest actualmente apunta a macOS 26 arm64) con varias versiones de Xcode instaladas, y selecciona una con xcode-select o maxim-lobanov/setup-xcode.
Todo lo relacionado con iOS es suyo: descodificando el .p12 into a temporary keychain, installing profiles, bumping build numbers, uploading. Most teams use fastlane for this. macOS minutes on private repositories bill at a much higher rate than Linux minutes, so running iOS builds on every pull request gets expensive fast.
Mejor para: equipos en GitHub que están cómodos manteniendo fastlane. Guía paso a paso: Automático Capacitor compilación de iOS con GitHub Actions.
GitLab CI
GitLab offers hosted macOS runners on GitLab.com for Premium and Ultimate tiers, still labeled beta, on Apple Silicon machines (M1 and M2 Pro). Images are named by OS and Xcode, such as macos-26-xcode-26En GitLab autogestionado, registra sus propios Macs.
GitLab’s Mobile DevOps features include a project integration for App Store Connect that exposes the API key to jobs, which makes fastlane setup cleaner. Signing itself is still your scripts.
En GitLab autogestionado, registra sus propios Macs. Configura CI/CD en GitLab.
Bitrise
Una CI móvil con una gran biblioteca de pasos. Bitrise mantiene pila de macOS en Apple Silicon con cada versión de Xcode admitida y publica normalmente nuevas pila de Xcode poco después de que Apple las publique. El Code firmado puede gestionarse a través de la integración de App Store Connect API , que descarga o genera certificados y perfiles durante la compilación. Los pasos cubren la carga de TestFlight, la publicación en App Store y muchas herramientas de prueba. También tiene características de gestión de lanzamientos para rollouts de etapas.
El precio es basado en créditos, por lo que las compilaciones de iOS en máquinas más grandes consumen créditos más rápido. Es una de las opciones más caras para equipos pequeños y una de las más completas para equipos móviles grandes.
Codemagic
Comenzó con Flutter y ahora cubre iOS nativo, Android, React Native, Ionic y Capacitor. Las compilaciones se ejecutan en instancias de Mac mini Apple Silicon. La configuración vive en codemagic.yaml o un editor de interfaz de usuario. La firma code automática utiliza tu clave de App Store Connect API para recuperar o crear el certificado y el perfil adecuados, lo que elimina la mayoría de la scripting de la caja de llaves. La publicación en TestFlight y la revisión de App Store está integrada.
El precio es por minuto de compilación con pago a medida o un plan anual fijo, con una cuota mensual gratuita para cuentas personales. Ver Capacitor construye de iOS con Codemagic.
Appcircle
A mobile CI/CD platform that bundles builds, a signing identity store, tester distribution, an enterprise app store, and store publishing. Its differentiator is deployment choice: you can use the cloud service or run Appcircle Server on your own infrastructure, which matters for regulated industries that cannot send code or signing keys to a shared cloud. Hybrid frameworks are built through workflow steps and custom scripts.
Xcode Cloud
La propia CI de Apple, configurada desde Xcode o App Store Connect. La firma es automática porque se ejecuta dentro del sistema de cuentas de Apple, y la distribución de pruebas de TestFlight es una casilla de verificación. La membresía del programa de desarrolladores de Apple incluye 25 horas de cómputo por mes, y más horas se venden como suscripción. Conecta con GitHub, GitLab y Bitbucket, incluidas instancias autogestionadas.
Limitaciones: solo construye plataformas de Apple, por lo que Android necesita otra CI. La herramienta personalizada se coloca en ci_scripts hooks de shell. Para una aplicación Capacitor instala Node en ci_post_clone.sh, construye la capa web y ejecuta cap sync. Consulte Cómo construir una aplicación Capacitor en Xcode Cloud.
CircleCI
Una CI general con ejecutores de macOS en clases de recursos de Apple Silicon y imágenes de Xcode. La configuración es YAML con orbes reutilizables. La firma y las subidas son DIY, típicamente con fastlane y matchBilling utiliza créditos, y las clases de recursos de macOS consumen más créditos por minuto que las de Linux. Una buena opción si CircleCI ya ejecuta tu backend.
Azure DevOps
Azure Pipelines proporciona agentes macOS hospedados en Microsoft (macOS-latest) y admite agentes Mac auto-hospedados. Tiene tareas integradas que los equipos de iOS utilizan en realidad: InstallAppleCertificate@2 y InstallAppleProvisioningProfile@1 handle keychain and profile setup from secure files, Xcode@5 archivos y exportaciones, y la extensión de la tienda de aplicaciones AppStoreRelease@1 Carga de tarea a TestFlight. El precio se basa en trabajos paralelos en lugar de por minuto. Se adapta especialmente a organizaciones centradas en Microsoft, especialmente aquellas que migran desde App Center.
Capgo Construye
Capgo Construye no es un CI. Es un servicio de construcción que llama a su CI existente. Un trabajo de Linux (GitHub Acciones, GitLab, Bitbucket, Gitea, Azure DevOps, cualquier cosa) ejecuta la construcción web y cap sync ios, luego:
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release
Capgo compila y firma en sus Macs, envía los registros de salida al trabajo, incrementa el número de construcción desde App Store Connect, y sube a TestFlight. --submit-to-store-review envía a App Review. La configuración de firmas está guiada por bunx @capgo/cli@latest build init --platform iosque crea el certificado y perfil. Los credenciales de firma permanecen en tus secretos de CI y se envían por construcción en lugar de almacenarse por Capgo.
Limitaciones importantes: solo construye Capacitor aplicaciones y un solo construcción tiene un límite de 10 minutos. Su principal ventaja es que ninguna tarea en tu pipeline necesita un ejecutor de macOS, y el mismo CLI se envía actualizaciones en vivo para cambios solo en web, tantas versiones saltan la construcción nativa por completo.
Ionic Appflow y App Center
Ambos siguen apareciendo en los resultados de búsqueda. App Center ya no está disponible. Appflow funciona para clientes existentes hasta el 31 de diciembre de 2027 y no acepta nuevos clientes. Si estás en cualquiera de ellos, planifica el cambio ahora. Guías de migración: migración de App Center y Alternativa a Appflow.
cómo elegir
| tu situación | buena opción |
|---|---|
| Desarrollo nativo Swift, solo Apple, equipo pequeño | Xcode Cloud |
| Desarrollo nativo iOS y Android, equipo móvil dedicado, desean firma administrada | Bitrise, Codemagic o Appcircle |
| Deben hospedar todo el plataforma ellos mismos | Appcircle Server, o ejecutores auto-hospedados en GitLab, GitHub, o Azure DevOps |
| Todo ya está en GitHub o GitLab, el equipo conoce fastlane | GitHub Actions o GitLab CI con ejecutores macOS |
| Tienda de Microsoft, provenientes de App Center | Azure DevOps |
| Capacitor aplicación, desean mantener la CI actual y evitar ejecutores macOS | Capgo Build llamado desde su CI |
| Capacitor aplicación que envía cambios web frecuentes | Any of the above plus Capgo actualizaciones en vivo |
Costo: qué realmente impulsa la factura
Los precios exactos cambian con frecuencia, compara el modelo en lugar de un número.
- Per-minute hospedado macOS (GitHub, GitLab, CircleCI, Codemagic pagos por uso): el costo escala con el número de compilaciones y la duración. Cachear CocoaPods o paquetes Swift y saltar las compilaciones nativas para cambios web solo reduce el costo.
- Créditos y niveles (Bitrise, CircleCI, Appcircle): gasto mensual predecible, pero las máquinas más grandes consumen créditos más rápido.
- Horas incluidas (Xcode Cloud): barato hasta que exceda las 25 horas incluidas.
- Trabajos paralelos (Azure DevOps): paga por la concurrencia, no por minutos.
- Servidores Mac propiosSin cargo por minuto, pero hardware, electricidad y tiempo de ingeniero para actualizaciones de Xcode y problemas de keychain.
El iOS más barato es el que no se ejecuta. Para aplicaciones híbridas, enviar cambios de JavaScript únicamente como actualizaciones en vivo en lugar de nuevos binarios ahorra más que cambiar de proveedores de CI.
Lista de verificación de depuración al cambiar de plataforma
- Exporta tu certificado de distribución como
.p12con su clave privada antes de dejar la plataforma antigua. Algunos servicios lo generaron y nunca te mostraron la clave privada. - Cree una clave App Store Connect API con acceso de App Manager para la nueva plataforma en lugar de reutilizar una ID de Apple personal.
- Verificar que el Xcode predeterminado de la nueva plataforma sea 26 o posterior.
- Desplazar la logicia de número de compilación. Si la plataforma antigua lo incrementaba automáticamente, tu primera compilación en la nueva puede colisionar.
- Mantén
ITSAppUsesNonExemptEncryptionenInfo.plistLos builds no esperan a la aprobación de exportación.
Para errores específicos de pipeline, consulte CI/CD para Capacitor: trampas comunes. Para una comparación enfocada en Capacitor que también cubre actualizaciones en vivo, consulte Comparando plataformas de CI/CD para aplicaciones Capacitor.