Die beste CI/CD-Plattform für eine iOS-App hängt von drei Faktoren ab: womit die App gebaut wird, wo dein code bereits liegt und wie viel Aufwand du für Signing und Mac-Wartung selbst übernehmen willst. Xcode Cloud passt zu reinen Apple-Native-Teams; Bitrise, Codemagic und Appcircle eignen sich für spezialisierte Mobile-Teams; GitHub Actions, GitLab CI, CircleCI und Azure DevOps sind ideal für Teams, die eine CI für alles nutzen wollen; und Capgo Build passt zu Capacitor Teams, die iOS-Builds ohne macOS-Runner benötigen. Dieser Vergleich beleuchtet alle Optionen mit den Fakten, die für iOS im Jahr 2026 entscheidend sind.
Was sich 2026 bei iOS CI/CD geändert hat
- Xcode 26 ist Pflicht. Seit dem 28. April 2026 lehnt App Store Connect Uploads ab, die nicht mit Xcode 26 und dem iOS 26 SDK gebaut wurden. Jede gewählte Plattform muss Xcode 26 Images anbieten, und selbst gehostete Macs müssen aktualisiert werden. Details in Apples Xcode-26-Vorgabe.
- Apple Silicon ist Standard. Gehostete macOS-Runner auf GitHub, GitLab, CircleCI, Bitrise und Codemagic laufen auf Apple Silicon. Intel-Images werden eingestellt.
- Nur noch zwei Managed Services. Microsoft App Center wurde am 31. März 2025 eingestellt. Ionic Appflow hat im Februar 2025 den Verkauf neuer Lizenzen gestoppt und stellt den Dienst am 31. Dezember 2027 ein. Wer auf eines der beiden setzt, braucht ein neues Zuhause.
- App Store Connect API Keys haben Apple-ID-Logins ersetzt. Jede ernsthafte Plattform authentifiziert sich inzwischen mit einem
.p8API Key, der Two-Factor-Prompts vermeidet, die früher CI-Jobs blockiert haben.
Was man vergleichen sollte
Eine iOS-Pipeline hat mehr bewegliche Teile als eine Web-Pipeline. Das sind die Fragen, die die Plattformen unterscheiden:
- Wer stellt den Mac bereit? Hosted, self-hosted oder abstrahiert.
- Wie wird das Signing gehandhabt? Manuelle Secrets und Keychain-Skripte oder verwaltete Zertifikate und Profile.
- Kann es zu TestFlight hochladen und zur Review einreichen, ohne zusätzliche Tools?
- Wie schnell kommen neue Xcode-Versionen?
- Wie sieht die Abrechnung aus? Pro Minute, Credits, Concurrency oder inklusive Stunden.
- Wird auch Android gebaut? Die meisten Apps erscheinen für beide.
Feature-Matrix
| Plattform | Mac inklusive | Managed Signing | TestFlight Upload | Android | Preismodell |
|---|---|---|---|---|---|
| GitHub Aktionen | Gehostete arm64-Runner (macos-15, macos-26) oder self-hosted |
Nein, Secrets plus Scripts oder fastlane | Via fastlane oder altool |
Ja | Pro Minute: macOS teurer als Linux; kostenlos für öffentliche Repos |
| GitLab CI | Hosted macOS Runner (Beta, Premium/Ultimate) oder Self-managed | Nein, aber eine App Store Connect Integration speichert den API-Key | Über fastlane | Ja | Compute-Minuten pro Plan |
| Bitrise | Hosted Apple Silicon Stacks | Ja, Zertifikats- und Profil-Management | Built-in Steps | Ja | Credits pro Build-Minute, Plan-Stufen |
| Codemagic | Gehostete Apple-Silicon-Mac-Minis | Ja, holt oder erstellt Profile über API-Key | Integriertes Publishing | Ja | Pay-per-Minute oder feste Jahrespläne |
| Appcircle | Gehostet oder selbst gehosteter Appcircle-Server | Ja, Signing Identity Store | Integriertes Publish-Modul | Ja | Plan-Stufen, Enterprise self-hosted |
| Xcode Cloud | Von Apple verwaltet | Ja, automatisch | Integriert | Nein | 25 Stunden/Monat im Mitgliedschaftspaket enthalten, mehr per Abo |
| CircleCI | Hosted Apple Silicon Resource Classes | Nein, Secrets plus fastlane | Über fastlane | Ja | Credits pro Minute je Ressourcenklasse |
| Azure DevOps | Microsoft-gehostete macOS-Agenten oder selbst gehostet | Teilweise: Tasks installieren Zertifikate und Profile | App-Store-Extension-Task | Ja | Parallele Jobs |
| Capgo Build | Capgo-verwaltet, aus jeder CI aufrufbar | Ja, geführtes Setup mit build init |
Integriert, plus Einreichung zur Prüfung | Ja | Build-Minuten, siehe Preise |
Hinweise zur Matrix: „Managed Signing“ bedeutet, dass die Plattform Zertifikate und Profile für dich speichert oder generiert, nicht nur Secret Storage. Capgo Build baut nur Capacitor-Apps; die anderen bauen auch native Swift-Projekte.
Plattform für Plattform
GitHub Aktionen
Der Standard für viele Teams, da der Workflow direkt neben dem code liegt. GitHub hostet Apple-Silicon-macOS-Runner (macos-latest aktuell macOS 26 arm64) mit mehreren installierten Xcode-Versionen, und du wählst eine mit xcode-select oder maxim-lobanov/setup-xcode.
Alles iOS-Spezifische liegt bei dir: das Dekodieren der .p12 in einen temporären Keychain, Profile installieren, Build-Nummern hochzählen, hochladen. Die meisten Teams nutzen dafür fastlane. macOS-Minuten für private Repositories werden deutlich teurer abgerechnet als Linux-Minuten, daher werden iOS-Builds bei jedem Pull Request schnell teuer.
Ideal für: Teams auf GitHub, die fastlane selbst pflegen können. Walkthrough: Automatischer Capacitor-iOS-Build mit GitHub Actions.
GitLab CI
GitLab bietet auf GitLab.com gehostete macOS-Runner für Premium- und Ultimate-Tarife an, weiterhin als Beta gekennzeichnet, auf Apple-Silicon-Maschinen (M1 und M2 Pro). Die Images sind nach Betriebssystem und Xcode benannt, z. B. macos-26-xcode-26. Bei Self-Managed GitLab registrierst du deine eigenen Macs.
Die Mobile-DevOps-Funktionen von GitLab umfassen eine Projektintegration für App Store Connect, die den API-Key für Jobs bereitstellt, was die fastlane-Einrichtung sauberer macht. Das Signing selbst bleibt deinen Skripten überlassen.
Ideal für: Teams, die bereits GitLab Premium nutzen. Guide: CI/CD in GitLab einrichten.
Bitrise
Eine Mobile-First-CI mit großer Step-Bibliothek. Bitrise pflegt macOS-Stacks auf Apple Silicon mit jeder unterstützten Xcode-Version und veröffentlicht neue Xcode-Stacks in der Regel kurz nach Apples Release. Code-Signing kann über die App Store Connect API-Integration verwaltet werden, die Zertifikate und Profile während des Builds herunterlädt oder generiert. Die Steps decken TestFlight-Upload, App-Store-Deploy und viele Testing-Tools ab. Außerdem gibt es Release-Management-Funktionen für gestaffelte Rollouts.
Die Preise sind kreditbasiert, daher verbrauchen iOS-Builds auf größeren Maschinen schneller Credits. Für kleine Teams ist es eine der teureren Optionen, für große Mobile-Teams eine der vollständigsten.
Codemagic
Startete mit Flutter und deckt heute natives iOS, Android, React Native, Ionic und Capacitor ab. Builds laufen auf Apple-Silicon-Mac-mini-Instanzen. Die Konfiguration befindet sich in codemagic.yaml oder einen UI-Editor. Das automatische Signing mit code nutzt deinen App Store Connect API Key, um das passende Zertifikat und Profil zu laden oder zu erstellen, was das meiste Keychain-Scripting überflüssig macht. Das Veröffentlichen in TestFlight und das App-Store-Review sind bereits eingebaut.
Die Abrechnung erfolgt entweder Pay-as-you-go pro Build-Minute oder über einen festen Jahresplan, mit einem kostenlosen Monatskontingent für private Accounts. Siehe Capacitor iOS-Builds mit Codemagic.
Appcircle
Eine mobile CI/CD-Plattform, die Builds, einen Signing-Identity-Store, Tester-Distribution, einen Enterprise App Store und Store-Publishing bündelt. Das Alleinstellungsmerkmal ist die freie Wahl beim Deployment: Du kannst den Cloud-Service nutzen oder den Appcircle Server auf deiner eigenen Infrastruktur betreiben – wichtig für regulierte Branchen, die code oder Signing Keys nicht in eine gemeinsame Cloud geben dürfen. Hybrid-Frameworks werden über Workflow-Steps und Custom Scripts gebaut.
Xcode Cloud
Apples eigene CI, konfigurierbar über Xcode oder App Store Connect. Das Signing läuft automatisch, weil es innerhalb von Apples Account-System stattfindet, und die TestFlight-Distribution ist nur ein Häkchen. Die Mitgliedschaft im Apple Developer Program beinhaltet 25 Compute-Stunden pro Monat; weitere Stunden gibt es als Abo. Es verbindet sich mit GitHub, GitLab und Bitbucket, auch Self-managed-Instances.
Grenzen: Es baut nur für Apple-Plattformen, für Android braucht es also eine andere CI. Custom Tooling läuft über ci_scripts Shell-Hooks. Für eine Capacitor App installierst du Node in ci_post_clone.sh, baust den Web-Layer und führst cap sync. Siehe So baust du eine Capacitor App in Xcode Cloud.
CircleCI
Ein Allzweck-CI mit macOS-Executors auf Apple Silicon Resource Classes und Xcode-Images. Die Konfiguration ist YAML mit wiederverwendbaren Orbs. Signing und Uploads sind DIY, meist mit fastlane und match. Die Abrechnung läuft über Credits; macOS-Resource-Classes verbrauchen pro Minute mehr Credits als Linux-Resource-Classes. Eine solide Wahl, wenn dein Backend bereits auf CircleCI läuft.
Azure DevOps
Azure Pipelines bietet Microsoft-gehostete macOS-Agents (macOS-latest) und unterstützt Self-hosted Mac-Agents. Es bietet integrierte Tasks, die iOS-Teams wirklich nutzen: InstallAppleCertificate@2 und InstallAppleProvisioningProfile@1 Keychain- und Profil-Setup via Secure Files, Xcode@5 Archives und Exports sowie die App Store Extension für AppStoreRelease@1 Uploads zu TestFlight. Die Abrechnung erfolgt nach parallelen Jobs, nicht pro Minute. Es passt zu Microsoft-zentrierten Organisationen, besonders zu denen, die von App Center migrieren.
Capgo Build
Capgo Build ist kein CI. Es ist ein Build-Service, den deine Pipeline aus einem Linux-Job heraus aufruft (GitHub Actions, GitLab, Bitbucket, Gitea, Azure DevOps oder ähnlich). Dieser Job führt den Web-Build aus und cap sync ios, fordert dann einen iOS-Build von Capgo Build an:
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release
Capgo Build kompiliert und signiert die iOS-App in der Cloud, streamt Logs zurück in den Linux-CI-Job, erhöht die Build-Nummer aus App Store Connect und lädt sie auf TestFlight hoch. --submit-to-store-review sendet sie zur App-Prüfung. Führe bunx @capgo/cli@latest build init --platform ios einmal beim Setup, um die Zugangsdaten lokal zu speichern. Für CI verwenden bunx @capgo/cli@latest build credentials manage um die Signing- und App Store Connect-Werte als CI-Secrets zu exportieren, und übergebe diese Werte sowie CAPGO_TOKEN zu bunx @capgo/cli@latest build request.
Limits, die man kennen sollte: Es baut nur Capacitor Apps, und ein einzelner Build hat ein 10-Minuten-Limit. Der Hauptvorteil: Kein Job in deiner Pipeline braucht einen macOS-Runner, und derselbe CLI liefert Live-Updates für reine Web-Änderungen, sodass viele Releases den Native Build komplett überspringen.
Argent Cloud
Argent Cloud von Software Mansion ist ebenfalls kein Build-Service. Es deckt den Schritt nach dem Build ab: die App auf iOS-Simulatoren ausführen. Du bekommst dedizierte Apple-Hardware mit isolierten, vorkonfigurierten iOS-Simulatoren, die du über das Netzwerk erreichst. So kann ein Linux-CI-Job oder ein AI-Coding-Agent auf Linux einen iOS-Simulator steuern, ohne dass dein Team eine eigene Mac-Flotte aufbauen und warten muss.
Es funktioniert mit Maestro, Appium, eigenen Skripten und mit Argent, das MCP-Toolkit von Software Mansion, mit dem Agenten wie Claude Code, Cursor und Codex durch die App navigieren, Logs und Netzwerk-Anfragen lesen sowie Profile erstellen können. Die Preise sind fest: Jeder Runner bietet bis zu 6 parallele Simulatoren auf Hardware, die nicht mit anderen Kunden geteilt wird, ab 299 $ pro Monat mit unbegrenzter Simulatorzeit.
Argent Cloud ergänzt eine Build-Plattform, statt sie zu ersetzen: Verwenden Sie weiterhin einen der oben genannten Dienste für Kompilieren, Signieren und TestFlight-Uploads und richten Sie Ihre UI-Tests und Agenten auf die Simulatoren von Argent Cloud aus. Der Hauptvorteil besteht darin, dass lange Test-Suiten und Agenten-Sitzungen keine minutengenaue macOS-Zeit mehr verbrauchen.
Ionic Appflow und App Center
Beide tauchen weiterhin in Suchergebnissen auf. App Center ist weg. Appflow funktioniert für Bestandskunden bis zum 31. Dezember 2027 und akzeptiert keine Neukunden. Wenn du eines der beiden nutzt, plane den Umzug jetzt. Migrationsguides: App Center Migration und Alternative zu Appflow.
Die richtige Wahl treffen
| Deine Situation | Ideal geeignet |
|---|---|
| Natives Swift, nur Apple-Plattformen, kleines Team | Xcode Cloud |
| Natives iOS und Android, dediziertes Mobile-Team, Wunsch nach Managed Signing | Bitrise, Codemagic oder Appcircle |
| Muss die gesamte Plattform selbst hosten | Appcircle Server oder selbst gehostete Runner auf GitLab, GitHub oder Azure DevOps |
| Alles bereits auf GitHub oder GitLab, Team kennt fastlane | GitHub Actions oder GitLab CI mit macOS-Runnern |
| Microsoft-Umfeld, kommt von App Center | Azure DevOps |
| Capacitor-App, bestehende CI beibehalten und macOS-Runner vermeiden | Capgo Build, aufgerufen aus eurer CI |
| Capacitor-App mit häufigen Web-Änderungen | Alles oben Genannte plus Capgo Live Updates |
| UI-Tests oder KI-Agenten brauchen iOS-Simulatoren aus der Linux-CI | Alle Build-Plattformen oben plus Argent Cloud |
Kosten: Was die Rechnung wirklich bestimmt
Genaue Preise ändern sich oft, also vergleiche das Modell statt einer Zahl:
- Hosted macOS pro Minute (GitHub, GitLab, CircleCI, Codemagic Pay-as-you-go): Die Kosten skalieren mit Anzahl und Dauer der Builds. CocoaPods oder Swift-Packages cachen und bei reinen Web-Änderungen Native Builds überspringen spart am meisten.
- Credits und Tarifstufen (Bitrise, CircleCI, Appcircle): Planbare monatliche Kosten, aber größere Maschinen verbrauchen Credits schneller.
- Inkludierte Stunden (Xcode Cloud): Günstig, bis man die inkludierten 25 Stunden überschreitet.
- Parallele Jobs (Azure DevOps): Du zahlst für Parallelität, nicht für Minuten.
- Monatliche Simulator-Flatrate (Argent Cloud, zum Testen): Ein Festpreis pro Block reservierter Simulatoren, sodass lange Testläufe die Rechnung nicht in die Höhe treiben.
- Selbst gehostete Macs: Keine Gebühr pro Minute, aber Kosten für Hardware, Strom und die Zeit eines Engineers für Xcode-Upgrades und Keychain-Probleme.
Der günstigste iOS-Build ist der, den du gar nicht erst ausführst. Bei Hybrid-Apps spart es meist mehr, reine JavaScript-Änderungen als Live Updates statt neuer Binaries auszuliefern, als den CI-Anbieter zu wechseln.
Checkliste zur Fehlerbehebung beim Plattformwechsel
- Exportiere dein Distribution-Zertifikat als
.p12inklusive Private Key, bevor du die alte Plattform verlässt. Einige Services haben ihn generiert und dir den Private Key nie angezeigt. - Erstelle für die neue Plattform einen App Store Connect API Key mit App-Manager-Zugriff, anstatt eine persönliche Apple ID wiederzuverwenden.
- Prüfe, ob das Standard-Xcode der neuen Plattform Version 26 oder neuer ist.
- Build-Nummern-Logik migrieren. Wenn die alte Plattform die Build-Nummer automatisch hochgezählt hat, kann dein erster Build auf der neuen Plattform kollidieren.
- Behalten
ITSAppUsesNonExemptEncryptionin einemInfo.plistdamit Builds nicht auf die Export-Compliance warten müssen.
Bei pipeline-spezifischen Fehlern siehe CI/CD für Capacitor: häufige Fallstricke. Für einen Capacitor-fokussierten Vergleich, der auch Live Updates abdeckt, siehe Vergleich von CI/CD-Plattformen für Capacitor-Apps.