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.
Was änderte sich bei der iOS CI/CD in 2026
- Xcode 26 ist erforderlich. Since April 28, 2026, App Store Connect rejects uploads that were not built with Xcode 26 and the iOS 26 SDK. Any platform you choose must offer Xcode 26 images, and self-hosted Macs must be upgraded. Details in Apple Silicon ist die Standard.
- Apple Silicon ist die Standardauswahl. Hostete macOS Runner auf GitHub, GitLab, CircleCI, Bitrise und Codemagic laufen auf Apple Silicon. Intel-Bilder werden eingestellt.
- Zwei verwaltete Dienste sind übrig geblieben. Microsoft App Center wurde am 31. März 2025 eingestellt. Ionic Appflow hat im Februar 2025 neue Verkäufe eingestellt und die Dienste am 31. Dezember 2027 beendet. Teams auf beiden Plattformen benötigen einen neuen Hafen.
- App Store Connect API-Schlüssel ersetzen Apple-ID-Anmeldungen. Jedes ernsthafte Plattform authentifiziert sich nun mit einem
.p8API-Schlüssel, der zwei-Faktor-Anfragen vermeidet, die früher CI-Aufträge blockierten.
Was vergleichen
Ein iOS-Pipeline hat mehr bewegliche Teile als eine Web-Pipeline. Diese Fragen trennen die Plattformen:
- Wer stellt den Mac bereit? Gehostet, selbst gehostet oder abstrahiert.
- Wie wird das Signieren gehandhabt? Manuelle Geheimnisse und Keychain-Skripte oder verwaltete Zertifikate und Profile.
- Kann es auf TestFlight hochladen und für die Überprüfung einreichen? ohne zusätzliche Werkzeuge?
- Wie schnell kommen neue Xcode-Versionen an?
- Wie wird es abgerechnet? Pro Minute, Kredit, Konkurrenz oder eingeschlossene Stunden.
- Baut es auch Android? Die meisten Apps liefern beide aus.
Funktionsmatrix
| Plattform | Mac zur Verfügung gestellt | Verwaltetes Signieren | TestFlight-Upload | Android | Pricingmodell |
|---|---|---|---|---|---|
| GitHub Aktionen | Hostete arm64 Runner (macos-15, macos-26) oder selbst gehostet |
Nein, Geheimnisse plus Skripte oder fastlane | Durch fastlane oder altool |
Ja | Pro Minute, macOS höher als Linux; kostenlos für öffentliche Repos |
| GitLab CI | Hostete macOS Runner (Beta, Premium/Ultimate) oder selbst verwaltet | Nein, aber eine App Store Connect-Integration speichert die API-Schlüssel | Durch fastlane | Ja | Rechenzeit pro Ebene |
| Bitrise | Hostete Apple Silicon-Stacks | Ja, Zertifikats- und Profilmanagement | Integrierte Schritte | Ja | Kredit pro Buildminute, Tarifebenen |
| Codemagic | Hostete Apple Silicon-Mac-Minis | Ja, abruft oder erstellt Profile über die API-Schlüssel | Integrierte Veröffentlichung | Ja | Minute- oder jährliche Festpreispläne |
| Appcircle | Hosteter oder selbst gehosteter Appcircle-Server | Ja, Identitäts-Store für Signieren | Integriertes Veröffentlichungsmodul | Ja | Planstufen, Enterprise-Selfhosting |
| Xcode Cloud | Apple-gesteuert | Ja, automatisch | Integriert | No | 25 Stunden/Monat inklusive bei Mitgliedschaft, mehr durch Abonnement |
| CircleCI | Hostete Apple Silicon-Ressourcenklassen | Nein, Geheimnisse plus fastlane | Durch fastlane | Ja | Kredit pro Minute nach Ressourcenklasse |
| Azure DevOps | Microsoft-hostete macOS-Agenten oder selbst gehostet | Teilweise, Aufgaben installieren Zertifikate und Profile | App Store-Erweiterungsaufgabe | Ja | Parallel-Aufträge |
| Capgo Build | Capgo-gesteuert, ausgelöst von jedem CI | Ja, mit einer geführten Einrichtung build init |
Integriert, plus zur Überprüfung einreichen | Ja | Buildminuten, siehe Preise |
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.
Plattform für Plattform
GitHub Aktionen
Die Standardauswahl für viele Teams, da der Workflow neben dem code läuft und GitHub Apple Silicon macOS-Runner hostet ("macos-latest aktuell verweist auf macOS 26 (arm64) mit mehreren Xcode-Versionen installiert, und Sie wählen eine mit xcode-select oder maxim-lobanov/setup-xcode.
Alles iOS-spezifische ist dein Eigen: Entschlüsselung der .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.
Best for: teams on GitHub that are comfortable maintaining fastlane. Walkthrough: Automatischer Capacitor iOS-Build mit GitHub Actions.
oder
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-26Sie registrieren Ihre eigenen Macs auf dem selbst verwalteten GitLab.
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.
Best für: Teams, die bereits auf GitLab Premium sind. Anleitung: CI/CD in GitLab einrichten.
Bitrise
Ein mobiler CI mit einer großen Bibliothek von Schritten. Bitrise hält macOS-Stacks auf Apple Silicon mit jeder unterstützten Xcode-Version aufrecht und veröffentlicht normalerweise neue Xcode-Stacks kurz nachdem Apple sie veröffentlicht hat. Code-Signierung kann über die App Store Connect API-Integration verwaltet werden, die Zertifikate und Profile während der Build herunterlädt oder generiert. Schritte umfassen die Hochladen auf TestFlight, die Veröffentlichung im App Store und viele Testtools. Es verfügt auch über Funktionen zur Verwaltung von Releases für gestufte Rollouts.
Das Preismodell ist kreditbasiert, daher verbrauchen iOS-Builds auf größeren Maschinen Kreditkarten schneller. Es ist eines der teureren Optionen für kleine Teams und eines der vollständigsten für große mobile Teams.
Codemagic
Gestartet mit Flutter und jetzt native iOS, Android, React Native, Ionic und Capacitor. Die Builds laufen auf Apple Silicon Mac mini-Instanzen. Die Konfiguration befindet sich in codemagic.yaml oder einem UI-Editor. Die automatische code-Signierung verwendet Ihren App Store Connect API-Schlüssel, um die richtige Zertifizierung und Profil abzurufen oder zu erstellen, was die meisten Schlüsselkette-Skripte entfernt. Die Veröffentlichung auf TestFlight und die App Store-Bewertung ist eingebaut.
Das Preismodell ist entweder pay-as-you-go pro Buildminute oder ein fester jährlicher Plan, mit einem kostenlosen monatlichen Zuschuss für persönliche Konten. Siehe Capacitor iOS-Builds mit Codemagic.
Appcircle
A mobile CI/CD-Plattform, die Builds, eine Identitäts- und Signierungslösung, eine Tester-Verteilung, einen Unternehmens-App-Store und eine Veröffentlichung in den App-Stores umfasst. Sein Unterscheidungsmerkmal ist die Wahl der Bereitstellung: Sie können die Cloud-Dienste verwenden oder Appcircle Server auf Ihrer eigenen Infrastruktur betreiben, was für regulierte Branchen wichtig ist, die keine code oder Signierungsschlüssel an eine gemeinsame Cloud senden dürfen. Hybridframeworks werden durch Workflow-Schritte und benutzerdefinierte Skripte erstellt.
Xcode Cloud
Apples eigene CI, die von Xcode oder App Store Connect konfiguriert werden kann. Die Signierung erfolgt automatisch, da sie innerhalb von Apples Account-System läuft, und die TestFlight-Verteilung ist ein Häkchen. Die Mitgliedschaft im Apple Developer Program umfasst 25 Rechenstunden pro Monat, und weitere Stunden werden als Abonnement verkauft. Es verbindet sich mit GitHub, GitLab und Bitbucket, einschließlich selbstverwalteter Instanzen.
Limitierungen: Es baut nur Apple-Plattformen, sodass Android eine andere CI benötigt. Benutzerdefinierte Werkzeuge gehen in ci_scripts shell-Hooks ein. Für eine Capacitor-App installieren Sie Node in ci_post_clone.sh, bauen Sie die Web-Schicht und führen Sie cap sync. Siehe Wie man eine Capacitor-App in Xcode Cloud erstellt.
CircleCI
Ein allgemeiner CI mit macOS-Executoren auf Apple-Silicon-Ressourcenklassen und Xcode-Bildern. Die Konfiguration erfolgt mit YAML und wiederholbaren Orben. Die Signierung und Uploads erfolgen DIY, typischerweise mit fastlane und match. Die Abrechnung erfolgt mit Credits, und die macOS-Ressourcenklassen verbrauchen mehr Credits pro Minute als Linux-Instanzen. Ein solides Wahl, wenn CircleCI bereits Ihren Backend läuft.
Azure DevOps
Azure Pipelines bietet Microsoft-hostete macOS-Agenten (macOS-latest) und unterstützt selbst gehostete Mac-Agenten. Es verfügt über integrierte Aufgaben, die iOS-Teams tatsächlich verwenden: InstallAppleCertificate@2 und InstallAppleProvisioningProfile@1 handle Keychain und Profilkonfiguration aus sicheren Dateien. Xcode@5 Archivierungen und Exporte, und die Erweiterung für den App Store AppStoreRelease@1 Auftrag wird zu TestFlight hochgeladen. Die Preisgestaltung erfolgt parallel zu Arbeitsaufträgen und nicht pro Minute. Es passt sich Microsoft-zentrierten Organisationen an, insbesondere solchen, die von App Center migrieren.
Capgo Build
Capgo Build is not a CI. It is a build service your existing CI calls. A Linux job (GitHub Actions, GitLab, Bitbucket, Gitea, Azure DevOps, anything) runs the web build and cap sync ios, then:
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release
ist kein CI. Es ist ein Build-Dienst, den Ihre bestehende CI aufruft. Ein Linux-Job (Capgo Actions, GitLab, Bitbucket, Gitea, Azure DevOps, alles) führt die Web-Build-Aufgabe aus und --submit-to-store-review sendet es zur App-Überprüfung. Die Signierungseinstellungen werden durch bunx @capgo/cli@latest build init --platform iosdie Zertifikat und Profil erstellt. Die Signaturzertifikate bleiben in Ihren CI-Secrets und werden pro Build gesendet, anstatt von Capgo gespeichert zu werden.
Beschränkungen, die Sie kennen sollten: Es baut nur Capacitor-Apps und ein einzelnes Build hat eine 10-minütige Grenze. Sein Hauptvorteil ist, dass kein Job in Ihrer Pipeline einen macOS-Runner benötigt, und das gleiche CLI live Updates für webbezogene Änderungen werden bei vielen Releases der native Build vollständig übersprungen.
Ionic Appflow und App Center
Both still show up in search results. App Center is gone. Appflow works for existing customers until December 31, 2027 and accepts no new customers. If you are on either, plan the move now. Migration guides: Ionic Appflow und App Center and App Center-Migration.
Wie man die richtige Wahl trifft
| Alternative zu Appflow | Gutes Passen |
|---|---|
| Native Swift, nur Apple-Plattformen, kleiner Team | Xcode Cloud |
| Native iOS und Android, dediziertes mobiles Team, wollen sicheres Signieren | Bitrise, Codemagic oder Appcircle |
| Muss die ganze 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-Shop, kommt aus App Center | Azure DevOps |
| Capacitor-App, will aktuelle CI beibehalten und macOS-Runner vermeiden | Capgo-Build aus Ihrer CI |
| Capacitor App, das häufige Web-Änderungen bereitstellt | Jeder der oben genannten Punkte plus Capgo Live-Updates |
Kosten: Was tatsächlich die Rechnung bestimmt
Genauere Preise ändern sich oft, daher vergleichen Sie das Modell anstatt eine Zahl:
- Pro-Minuten gehosteter macOS (GitHub, GitLab, CircleCI, Codemagic pay-as-you-go): Die Kosten skaliert mit der Anzahl der Builds und der Dauer. Das Cachen von CocoaPods oder Swift-Paketen und das Umgehen von nativen Builds für Web-Änderungen reduzieren es am meisten.
- Kreditkarten und Ebenen (Bitrise, CircleCI, Appcircle): Vorhersehbarer monatlicher Ausgabenbetrag, aber größere Maschinen verbrennen Kreditkarten schneller.
- Mitgelieferte Stunden (Xcode Cloud): Günstig, bis Sie die mitgelieferten 25 Stunden überschreiten.
- Parallel-Aufträge (Azure DevOps): Sie zahlen für Konkurrenz, nicht für Minuten.
- Eigenständige Macs: keine Minutengebühr, aber Hardware, Strom und die Zeit eines Ingenieurs für Xcode-Updates und Schlüsselkette-Probleme.
Der günstigste iOS-Build ist der, den Sie nicht ausführen. Für hybride Apps spart man oft mehr, indem man JavaScript-Änderungen als Live-Updates sendet, anstatt neue Binärdateien.
Troubleshooting-Checkliste bei der Plattformwechsel
- Exportieren Sie Ihr Verteilungszertifikat als
.p12mit seiner privaten Schlüssel vor dem Verlassen der alten Plattform. Einige Dienste haben es generiert und nie den privaten Schlüssel angezeigt. - Erstellen Sie einen App Store Connect API-Schlüssel mit App-Manager-Zugriff für die neue Plattform anstatt eine persönliche Apple-ID zu wiederholen.
- Überprüfen Sie, dass die neue Plattform standardmäßig Xcode 26 oder später verwendet.
- Verschieben Sie die Build-Nummer-Logik. Wenn die alte Plattform sie automatisch erhöhte, kann Ihr erster Build auf der neuen Plattform kollidieren.
- Halten Sie
ITSAppUsesNonExemptEncryptionimInfo.plistso dass Builds nicht auf Exportkonzessionen warten.
Für Pipelinefehler, siehe CI/CD für Capacitor: häufige Fehlerquellen. Für eine Capacitor-fokussierte Vergleichsstudie, die auch Live-Updates abdeckt, siehe Vergleich von CI/CD-Plattformen für Capacitor-Apps.