Die Release Notes zu React Native 0.88 bezeichnen Swift Package Manager (SwiftPM) weiterhin als experimentell; die Integration muss aktiv eingeschaltet werden. Wechseln Sie deshalb nicht allein wegen der neuen Unterstützung mit einem Produktionsprojekt von CocoaPods weg. Testen Sie SwiftPM zunächst isoliert, wenn Ihr Projekt überschaubare native Abhängigkeiten hat. Bei einer komplexen Abhängigkeitskette oder einem stabilen Release-Ablauf ist es sicherer, den vorhandenen CocoaPods-Pfad beizubehalten, bis Ihr eigenes Projekt den neuen Weg bestanden hat.
Dieser Beitrag richtet sich an Sie, wenn Sie ein neues iOS-Projekt mit React Native 0.88 beginnen und SwiftPM als Versuch erwägen.
Er hilft Ihnen auch, wenn Sie ein CocoaPods-Produktivprojekt betreuen und Plugins, native Bibliotheken oder Veröffentlichungsabläufe beurteilen müssen.
Kleine Teams, die Mac-Builds und Releases verantworten, finden hier außerdem einen Plan für isolierte Prüfungen und einen kontrollierten Rückweg.
Letzte Aktualisierung: 29.10.2026. Der Versionsstatus wurde anhand der offiziellen React-Native-0.88-Veröffentlichungsnotizen geprüft. Vor einer Migration sollten Sie zusätzlich die aktuellen Veröffentlichungsinformationen und Ihre konkrete Kombination aus React Native, Abhängigkeiten und Xcode prüfen.
Vor der Entscheidung: Was ist in React Native 0.88 tatsächlich neu?
Entscheidend ist die Trennung zwischen „SwiftPM wird unterstützt“ und „SwiftPM ist für jedes Projekt der empfohlene Produktionsweg“. Die erste Aussage trifft zu. Die zweite lässt sich aus der experimentellen Unterstützung nicht ableiten. React Native 0.88 führt eine SwiftPM-Integrationsmöglichkeit ein, die Sie ausdrücklich aktivieren müssen. CocoaPods bleibt ebenfalls unterstützt. Diese Einordnung ist in den Release Notes zu React Native 0.88 beschrieben.
Ein weiteres wichtiges Detail: Die offiziellen Hinweise stellen einen möglichen Standardpfad für SwiftPM in React Native 0.89 als Plan dar. Das ist kein Nachweis dafür, dass ein solcher Standardwechsel bereits wirksam ist. Behandeln Sie die Ankündigung als Beobachtungssignal, nicht als Grund, Ihre produktive Build-Umgebung vorzeitig umzubauen. Prüfen Sie den tatsächlichen Status erneut, wenn eine neue Version oder geänderte Dokumentation erscheint.
Die frühere Veröffentlichung liefert Kontext, aber keine pauschale Kompatibilitätsgarantie für Ihre Bibliotheken. Die Release Notes zu React Native 0.87 helfen dabei, die Entwicklung der Unterstützung nachzuvollziehen. Für die konkrete Einbindung nativer Bibliotheken ist die React-Native-Dokumentation zu Libraries ein sinnvoller Ausgangspunkt. Daraus folgt nicht, dass jedes Drittanbieter-Plugin bereits einen gepflegten SwiftPM-Pfad besitzt.
Achtung: Eine erfolgreiche Aktivierung der SwiftPM-Integration belegt nur, dass der entsprechende Pfad gestartet werden kann. Sie beweist weder, dass alle nativen Abhängigkeiten aufgelöst werden, noch dass App-Verhalten und Release-Prozess funktionieren.
Für Ihre Entscheidung sind vier Risiken besonders relevant:
- Ungeklärte Bibliotheksunterstützung: Ein Modul kann weiterhin CocoaPods-spezifische Installationshinweise, Skripte oder Konfiguration voraussetzen.
- Abweichendes Verhalten beim automatischen Verknüpfen: Native Module müssen nach der Änderung weiterhin erkannt und korrekt in den iOS-Build eingebunden werden.
- Skripte außerhalb der Paketverwaltung: Projektinterne Build-Skripte können Dateien, Variablen oder Installationsschritte voraussetzen, die Sie beim Wechsel nicht automatisch übernehmen.
- Release-Risiko und Rückweg: Wenn Sie Paketverwaltung und Veröffentlichungsablauf gleichzeitig ändern, wird die Fehlersuche schwieriger. Unter Zeitdruck kann auch ein zuvor reproduzierbarer Produktions-Build betroffen sein.
Vor dem Test: Abhängigkeiten und Projektgrenzen erfassen
Bevor Sie eine React-Native-CocoaPods-Migration beginnen, erstellen Sie eine nachvollziehbare Bestandsaufnahme. Erfassen Sie nicht nur die Einträge in Ihrer Paketdatei. Prüfen Sie, woher eine Abhängigkeit stammt, wie sie eingebunden wird und wer einen Fehler beheben kann. Die React-Native-Dokumentation zu nativen Libraries ist ein sinnvoller Ausgangspunkt, ersetzt aber nicht die Prüfung Ihrer konkreten Versionen und Projektänderungen.
| Bereich | Vor dem Versuch erfassen | Frage für den SwiftPM-Test |
|---|---|---|
| React-Native-Kern | Verwendete React-Native-Version und iOS-Projektanpassungen | Entspricht die Konfiguration dem dokumentierten Integrationsweg dieser Version? |
| Native Module | Direkte und indirekte Bibliotheken, Versionen und Installationshinweise | Gibt es für jede zentrale Bibliothek einen bestätigten SwiftPM-Weg? |
| Drittanbieter-SDKs | Binärdateien, zusätzliche Ressourcen und besondere Build-Anweisungen | Sind Ressourcen und notwendige Build-Schritte im Testpfad abgedeckt? |
| Projekt-Skripte | Installations-, Build-, Signier- und Upload-Skripte | Greifen Skripte auf CocoaPods-Dateien oder bestimmte Umgebungsvariablen zu? |
| Release-Ablauf | Zertifikate, Profile, Export und Upload-Schritte | Bleibt der bestehende Release-Prozess reproduzierbar? |
Ordnen Sie jede Abhängigkeit einer von drei Gruppen zu: bestätigt, noch zu prüfen oder vorerst blockierend. „Bestätigt“ sollte nur bedeuten, dass Sie einen nachvollziehbaren SwiftPM-Integrationsweg für die verwendete Version gefunden und im Projekt geprüft haben. Ein allgemeiner Hinweis, dass ein Anbieter SwiftPM unterstützt, genügt nicht, wenn Ihre App eine andere Produktvariante oder besondere Build-Schritte verwendet.
Die Frage, welche nativen Abhängigkeiten vor dem Wechsel relevant sind, lässt sich deshalb nicht allein mit einer Liste populärer Bibliotheken beantworten. Prüfen Sie insbesondere die Module, die direkt in den iOS-Build eingreifen, Ressourcen mitliefern oder eigene Skripte ausführen. Vermerken Sie bei ungeklärten Fällen den zuständigen Maintainer und die noch fehlende Information. Wenn diese Punkte für eine Kernfunktion oder den Release blockierend sind, gehört das Projekt zunächst nicht in einen Produktionsversuch.
Beim neuen Projekt: SwiftPM unter kontrollierten Bedingungen testen
Ein neues Projekt ist ein geeigneterer Kandidat für einen Versuch, wenn Sie nicht gleichzeitig eine große gewachsene Integrationslandschaft übernehmen müssen. Das bedeutet nicht, dass SwiftPM automatisch die einfachere Wahl ist. Der Vorteil liegt vor allem darin, dass Sie den Pfad früh beobachten können, bevor ein bestehender Release-Prozess davon abhängt.
| Prüfpunkt | CocoaPods-Pfad | SwiftPM-Pfad in React Native 0.88 |
|---|---|---|
| Projektentscheidung | Bestehenden, bereits verwendeten Integrationsweg fortsetzen | Experimentellen Pfad ausdrücklich aktivieren und separat prüfen |
| Bibliotheken | Abhängigkeit kann auf CocoaPods-Konfiguration oder -Skripte setzen | Für jede verwendete Bibliothek den passenden SwiftPM-Weg nachweisen |
| Werkzeuge und Pflege | Bestehende Ruby- und CocoaPods-Abläufe können Teil der Umgebung sein | Weniger CocoaPods-spezifische Abläufe bedeuten nicht automatisch weniger Gesamtaufwand |
| Fehlersuche | Bekannter Pfad ist oft leichter mit vorhandenen Teamkenntnissen zu warten | Neue Integrationsfehler erfordern zusätzliche Dokumentation und Verantwortlichkeit |
| Freigabe | Eignet sich als Rückfall, solange der Produktionsbuild darauf beruht | Erst nach bestandener Projekt- und Release-Prüfung für weitere Nutzung freigeben |
SwiftPM und CocoaPods im selben React-Native-iOS-Projekt zu kombinieren, sollten Sie nicht als unproblematische Zwischenlösung voraussetzen. Die Paketmanager können in einem Projektkontext unterschiedliche Zuständigkeiten und Build-Annahmen haben. Falls eine Bibliothek nur über einen der beiden Wege verfügbar ist, klären Sie anhand der konkreten Projektkonfiguration, ob und wie sich die Pfade vertragen. Die SwiftPM-Unterstützungsdiskussion im React-Native-Projekt dokumentiert den Vorschlag und seine Grenzen; sie ist keine Garantie für jede Mischung aus Abhängigkeiten.
Für neue Projekte empfiehlt sich ein separates Testziel oder ein eigener Zweig. Halten Sie die Release-Konfiguration zunächst unverändert. Dokumentieren Sie, welche Einstellung den SwiftPM-Pfad aktiviert, welche Bibliotheken erfolgreich eingebunden werden und wie Sie zum ursprünglichen Zustand zurückkehren. So kann das Team einen technischen Versuch beurteilen, ohne ihn mit einer bereits freigegebenen Produktionsentscheidung zu verwechseln.
Hinweis: Weniger CocoaPods-spezifische Werkzeuge können den lokalen Setup-Aufwand verändern. Daraus folgt aber nicht, dass Migration, Fehleranalyse, Teamdokumentation und Releasepflege insgesamt weniger Arbeit verursachen.
Beim bestehenden Projekt: schrittweise statt gleichzeitig migrieren
Bei einem produktiven CocoaPods-Projekt ist der Ausgangspunkt ein funktionierender, bekannter Build. Sichern Sie diesen Zustand in einem eigenen Zweig oder einer reproduzierbaren Projektkopie. Nehmen Sie keine Änderungen an der Paketverwaltung und am Release-Ablauf in einem einzigen ungetrennten Schritt vor. Sonst lässt sich bei einem Fehler kaum erkennen, ob die Ursache eine Bibliothek, ein Skript, die Signierung oder der neue Paketpfad ist.
Welche nativen Abhängigkeiten müssen Sie vor einer React-Native-CocoaPods-Migration prüfen?
Prüfen Sie zuerst die zentralen nativen Module und alle Bibliotheken, die beim App-Start, bei Hintergrundaufgaben, bei Berechtigungen oder bei systemnahen Funktionen beteiligt sind. Halten Sie pro Eintrag fest, ob der SwiftPM-Pfad für Ihre tatsächlich verwendete Variante belegt ist. Wenn die Dokumentation fehlt oder nur einen anderen Integrationsweg beschreibt, kennzeichnen Sie den Eintrag als ungeklärt. Leiten Sie aus der Verfügbarkeit eines Swift-Pakets nicht automatisch ab, dass dessen React-Native-Integration ebenfalls abgedeckt ist.
Danach prüfen Sie automatische Verknüpfung und Projektdateien. Vergleichen Sie die generierte und manuell gepflegte Konfiguration mit dem unveränderten Zweig. Suchen Sie gezielt nach Verweisen auf CocoaPods-Artefakte, Installationsskripte und Umgebungsvariablen. Legen Sie vor dem Test fest, welche Abweichungen akzeptabel sind und welche den Versuch abbrechen.
Ein praktikabler Ablauf sieht so aus:
- Ausgangszustand sichern: Halten Sie den aktuellen CocoaPods-Build und die dazugehörigen Abhängigkeitssperren fest. Sorgen Sie dafür, dass ein Teammitglied diesen Zustand erneut bauen kann.
- Inventar vervollständigen: Erfassen Sie native Module, Drittanbieter-SDKs, Skripte und Sonderkonfiguration. Markieren Sie ungeklärte Komponenten ausdrücklich, statt Kompatibilität zu vermuten.
- Testzweig anlegen: Aktivieren Sie SwiftPM nur dort, wo Sie die Änderung isolieren können. Lassen Sie den Release-Zweig zunächst unverändert.
- Abhängigkeiten einzeln prüfen: Klären Sie für jede zentrale Bibliothek den verwendeten Integrationsweg. Entfernen oder ersetzen Sie keine Komponente allein aufgrund einer allgemeinen Kompatibilitätsaussage.
- Automatische Verknüpfung kontrollieren: Prüfen Sie, ob die nativen Module weiterhin erkannt werden und ob Build-Skripte die erwarteten Eingaben erhalten.
- Build und Verhalten testen: Führen Sie die Prüfung auf der tatsächlichen Mac- und Xcode-Umgebung des Projekts aus. Prüfen Sie neben dem erfolgreichen Kompilieren auch die betroffenen App-Funktionen.
- Rückfall nachweisen: Dokumentieren Sie die Schritte zurück zum zuvor funktionierenden CocoaPods-Pfad. Ein Rollback, der nicht getestet wurde, ist keine belastbare Rückfallstrategie.
- Änderungen getrennt freigeben: Erst wenn der Paketpfad stabil ist, beurteilen Sie mögliche Anpassungen am Release-Prozess. Ändern Sie nicht gleichzeitig Paketmanager, Signierung und Upload-Konfiguration.
Die Apple-Dokumentation zum Hinzufügen von Paketabhängigkeiten in Xcode erklärt die Verwaltung von Swift-Paketen in Xcode. Für automatisierte Abläufe ist außerdem Apples Dokumentation zu Swift-Paketen in CI-Workflows relevant. Diese allgemeinen Hinweise beantworten jedoch nicht, ob ein bestimmtes React-Native-Modul, Ihre Skripte und Ihre Projektanpassungen zusammen funktionieren. Das müssen Sie im Projekt nachweisen.
Auf dem Mac: Abhängigkeiten, Build und Release getrennt abnehmen
Ein erfolgreicher lokaler Build ist nur ein Teil der Abnahme. Unterscheiden Sie vier Ergebnisse: Abhängigkeiten werden aufgelöst, iOS wird gebaut, die App verhält sich korrekt und der Release-Weg funktioniert. Wenn Sie diese Prüfpunkte zusammenwerfen, kann ein positives Einzelergebnis eine offene Veröffentlichungshürde verdecken.
Führen Sie die Prüfung mit einem sauberen Checkout und der tatsächlich geplanten Toolchain durch. Ein Build aus einem Entwicklerverzeichnis kann auf lokal vorhandene Dateien oder nicht dokumentierte Änderungen angewiesen sein. Prüfen Sie deshalb, ob eine neue Arbeitskopie die Abhängigkeiten ohne versteckte manuelle Schritte auflöst. Dokumentieren Sie den verwendeten React-Native-Stand, die Abhängigkeiten und die Xcode-Umgebung, damit ein späterer Vergleich aussagekräftig bleibt.
Xcode und macOS müssen zusammenpassen. Apple veröffentlicht die unterstützten Kombinationen auf seiner Seite zu den Systemanforderungen für Xcode. Kontrollieren Sie die konkrete Umgebung dort, bevor Sie eine Fehlermeldung vorschnell der Paketverwaltung zuschreiben. Bei einer Abweichung kann der Fehler an der Toolchain liegen und nicht an SwiftPM oder einer nativen Bibliothek.
Prüfen Sie anschließend den vorgesehenen Simulator- oder Geräteablauf und die Funktionen, die native Module verwenden. Ein erfolgreicher Compile-Schritt zeigt nicht, dass Berechtigungsabfragen, Ressourcen, Hintergrundverhalten oder Startlogik korrekt sind. Dokumentieren Sie Fehler mit dem jeweiligen Prüfschritt und der betroffenen Abhängigkeit. So wird sichtbar, ob der neue Pfad tatsächlich eine Migration ermöglicht oder lediglich einen Teil des Builds abdeckt.
Für den Release-Test müssen Signierung, Archivierung und Upload im vorgesehenen Prozess funktionieren. Apples Anleitung zum Hochladen von Builds in App Store Connect beschreibt den Upload-Schritt. Der erfolgreiche Upload ist trotzdem nicht dasselbe wie eine abgeschlossene App-Prüfung oder die Freigabe für Nutzer. Bewerten Sie den Upload daher als einen eigenen Nachweis innerhalb der gesamten Veröffentlichungskette.
Wenn Sie keinen eigenen Mac besitzen, können Sie die Prüfung auf einer gemieteten oder anderweitig bereitgestellten Mac-Umgebung durchführen. Entscheidend ist nicht, dass die Maschine „Mac“ heißt, sondern dass Sie Zugriff auf die für Ihr Projekt erforderliche macOS- und Xcode-Kombination haben und Änderungen kontrolliert isolieren können. Prüfen Sie außerdem den Zugriffsschutz für Quellcode, Signiermaterial und Zugangsdaten. Für DSGVO-relevante Projekte gehören Speicherort, Zugriffskontrolle, Löschverfahren und die Trennung von Geheimnissen in die Auswahl der Umgebung. Unter realistischen Bedingungen sollten Sie auch Verbindungsstabilität und die Möglichkeit prüfen, den Testzustand wiederherzustellen.
Nach dem Test: beibehalten, ausweiten oder zurückstellen
Werten Sie die Abnahme nicht nach einem einzelnen grünen Build aus. Entscheidend ist, ob zentrale Abhängigkeiten geklärt sind, ein sauberer Build reproduzierbar gelingt, das Team den neuen Ablauf warten kann und ein Rückfall ohne improvisierte Änderungen möglich bleibt.
Nutzen Sie dafür diese Entscheidungszweige:
- Wenn alle für die App kritischen nativen Abhängigkeiten einen belegten SwiftPM-Weg haben, dann können Sie den isolierten Versuch ausweiten. Lassen Sie den bisherigen Release-Pfad bestehen, bis auch der Release-Test erfolgreich war.
- Wenn der neue Build funktioniert, aber einzelne Bibliotheken oder Skripte ungeklärt sind, dann behalten Sie SwiftPM als Versuch und verwenden CocoaPods weiterhin für die Produktionsfreigabe.
- Wenn zentrale Module nur über nicht verifizierte Integrationen verfügbar sind oder der Rückweg unklar ist, dann verschieben Sie die Migration. Beheben Sie zuerst die Informations- oder Prozesslücke.
- Wenn die Abhängigkeiten, der saubere Build, das App-Verhalten und der Release-Ablauf nachweislich funktionieren und das Team die Wartung übernehmen kann, dann können Sie eine stufenweise Umstellung planen.
| Entscheidung | Geeignet, wenn | Nächster Schritt |
|---|---|---|
| CocoaPods beibehalten | Der Produktionspfad stabil ist oder wichtige SwiftPM-Kompatibilität offenbleibt | Bestehenden Build absichern und offene Komponenten klären |
| SwiftPM isoliert erproben | Das Projekt überschaubar ist und ein separater Testpfad möglich ist | Sauberen Checkout, Abhängigkeiten, Verhalten und Release getrennt prüfen |
| Migration stufenweise ausweiten | Der projektbezogene Test vollständig bestanden ist und ein Rückweg bereitsteht | Änderungen dokumentieren, Freigabe schrittweise erweitern und erneut abnehmen |
Beobachten Sie Änderungen in den offiziellen React-Native-Veröffentlichungshinweisen. Die angekündigte Entwicklung für eine spätere Version kann Anlass für eine erneute Bewertung sein, ersetzt aber keine Abnahme Ihrer Abhängigkeiten und Build-Kette. Wiederholen Sie die Prüfung, wenn React Native den SwiftPM-Status ändert, ein wichtiges natives Modul seinen Integrationsweg anpasst oder sich Ihre Xcode- und macOS-Umgebung verändert.
Für den Vergleich verschiedener Mac-Umgebungen und Zugangswege können Sie die Mac-Angebote von KVMNODE prüfen. Eine gemietete Mac-Umgebung ist besonders dann sinnvoll, wenn Sie einen isolierten SwiftPM-Test durchführen möchten, ohne sofort zusätzliche Hardware zu kaufen. Sie ersetzt jedoch keine sorgfältige Prüfung von Datenschutz, Toolchain, Zugriff und Wiederherstellbarkeit. Wenn Sie einen eigenen Rechner bevorzugen, können Sie alternativ die Informationen zum Mac mini M4 als Beschaffungsoption heranziehen; ein eigener Mac ist oft passender, wenn Sie dauerhaft lokal arbeiten oder physische Anschlüsse benötigen.
Ein bestehender Windows- oder Linux-Rechner kann für viele Aufgaben der React-Native-Entwicklung weiter dienen, deckt aber den macOS-abhängigen iOS-Build- und Veröffentlichungsweg nicht allein ab. Eine dauerhaft genutzte eigene Mac-Hardware bindet dagegen Kapital und muss von Ihnen selbst betrieben und aktualisiert werden. Für eine zeitlich begrenzte Kompatibilitätsprüfung kann ein gemieteter Mac von KVMNODE die bessere Abwägung sein: Sie testen den tatsächlichen Build auf einer separaten Mac-Umgebung, ohne aus einer experimentellen React-Native-Funktion sofort eine langfristige Hardwareentscheidung zu machen. Wechseln Sie erst dann produktiv zu SwiftPM, wenn Ihr Projekt – nicht nur die Versionsankündigung – den vollständigen Prüfpfad bestanden hat.