CocoaPods ogłosiło że w grudniu 2026 r. przejdzie w tryb tylko do odczytu, po czym nie będzie można publikować nowych wersji podów. Więcej informacji o tej zmianie oraz o tym, jak przenieść aplikacje do innych menedżerów instalacji, znajdziesz w kolejnych sekcjach.
Przegląd
- Co się zmieni? CocoaPods przechodzi w tryb tylko do odczytu, a Firebase przestanie publikować nowe wersje w CocoaPods w październiku 2026 r.
- Czy moja aplikacja przestanie działać? Nie. Dotychczasowe wersje bibliotek Firebase będą nadal dostępne w rejestrze CocoaPods, a aplikacje, które z nich korzystają, będą działać.
- Dlaczego warto przeprowadzić migrację? Aby nadal otrzymywać najnowsze funkcje, ulepszenia wydajności i ważne poprawki, przenieś się na menedżera pakietów Swift lub instalację ręczną.
W związku z ogłoszeniem CocoaPods Firebase przestanie publikować nowe wersje w CocoaPods w październiku 2026 r. Te zmiany mają wpływ na wszystkie te pody i ich zależności:
| Pody Firebase, których dotyczy problem | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
Te zmiany będą miały wpływ również na wszystkie dystrybucje Firebase, które obejmują natywny pakiet Firebase Apple SDK, w tym pakiet Firebase Unity SDK, pakiet Firebase C++ SDK i FlutterFire.
Migracja aplikacji na Apple
Jeśli przenosisz inne zależności (niezwiązane z Firebase) z CocoaPods, pamiętaj, że najlepszym rozwiązaniem jest używanie jednej metody instalacji w całym projekcie. Łączenie CocoaPods i menedżera pakietów Swift (SPM) w tym samym celu może prowadzić do złożonych cykli zależności i błędów kompilacji. Jeśli zależności niezwiązane z Firebase nie obsługują jeszcze SPM, najbardziej stabilnym sposobem na ujednolicenie przepływu pracy podczas migracji jest użycie ręcznej instalacji bibliotek Firebase.
Menedżer pakietów Swift (SPM)
Co to jest menedżer pakietów Swift?
Menedżer pakietów Swift (SPM) to natywne narzędzie Apple do zarządzania dystrybucją kodu. Jest on zintegrowany bezpośrednio z Xcode, co eliminuje potrzebę korzystania z zewnętrznych narzędzi CLI, takich jak CocoaPods, i upraszcza strukturę projektu, ponieważ w większości standardowych konfiguracji nie trzeba używać pliku .xcworkspace.
Migracja do menedżera pakietów Swift
W przypadku większości projektów migracja do menedżera pakietów Swift nie wymaga zmiany kodu aplikacji, chyba że projekt ma niestandardowe konfiguracje Xcode lub zależności, które w dużym stopniu korzystają ze skryptów instalacyjnych CocoaPods.
Oto jak przeprowadzić migrację z CocoaPods do menedżera pakietów Swift:
- Sprawdź, czy wszystkie zależności aplikacji obsługują menedżera pakietów Swift. Wszystkie biblioteki Firebase obsługują SPM, ale musisz sprawdzić, czy zależności niezwiązane z Firebase obsługują SPM w ich repozytoriach GitHub lub na stronach produktów. Jeśli niektóre zależności niezwiązane z Firebase nie obsługują SPM, to najbardziej stabilną ścieżką migracji z CocoaPods jest użycie ręcznej instalacji zamiast SPM.
- Po zamknięciu Xcode usuń CocoaPods z projektu:
- Odinstaluj zależności CocoaPods, uruchamiając to polecenie w katalogu projektu:
pod deintegrate
- Usuń plik
.xcworkspacewygenerowany przez CocoaPods.
- Odinstaluj zależności CocoaPods, uruchamiając to polecenie w katalogu projektu:
- W Xcode zaktualizuj projekt o zależności menedżera pakietów Swift:
- Otwórz plik
.xcodeprojprojektu w Xcode. - Ponownie dodaj zależności aplikacji, wybierając File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
- Otwórz plik
- Po dodaniu pakietu Firebase możesz zaktualizować biblioteki Firebase, od których zależy Twoja aplikacja. Aby to zrobić, otwórz ustawienia projektu w Xcode, wybierz cel aplikacji i zaktualizuj biblioteki w sekcji Frameworks, Libraries, and Embedded Content (Frameworki, biblioteki i treści osadzone).
Więcej informacji o korzystaniu z SPM w Xcode znajdziesz w dokumentacji Apple.
Instalacja ręczna
Co to jest instalacja ręczna?
Instalacja ręczna polega na pobraniu archiwum Firebase.zip, które zawiera wstępnie skompilowane XCFrameworki dla wszystkich usług Firebase. Dzięki temu możesz przeciągać i upuszczać określone pakiety SDK bezpośrednio do projektu Xcode bez używania menedżera zależności.
Migracja do instalacji ręcznej
- Po zamknięciu Xcode usuń CocoaPods z projektu:
- Odinstaluj zależności CocoaPods, uruchamiając to polecenie w katalogu projektu:
pod deintegrate
- Usuń plik
.xcworkspacewygenerowany przez CocoaPods.
- Odinstaluj zależności CocoaPods, uruchamiając to polecenie w katalogu projektu:
- Aby ręcznie dodać Firebase do projektu, wykonaj czynności opisane w naszym przewodniku instalacji.
Migracja aplikacji Unity, C++ i Flutter
Pakiet Firebase Unity SDK i FlutterFire
Większość programistów Unity i Flutter nie musi podejmować żadnych działań. Zaktualizowanie Firebase do najnowszej wersji w Unity lub Flutter spowoduje automatyczne przeniesienie podstawowego menedżera zależności na platformach Apple do menedżera pakietów Swift.
Pamiętaj, że jeśli zarządzasz zależnościami niezwiązanymi z Firebase za pomocą CocoaPods, być może konieczne będzie ręczne przeniesienie tych zależności.
Pakiet Firebase C++ SDK
Jeśli dołączasz podstawowe zależności iOS za pomocą CocoaPods, możesz wykonać opisane powyżej instrukcje migracji, aby zaktualizować zależności Firebase CocoaPod i zamiast nich używać menedżera pakietów Swift.
Najczęstsze pytania
Po październiku 2026 r. muszę nadal używać CocoaPods. Jak mogę zapewnić, że moja aplikacja będzie działać?
Możesz używać starszych wersji podów Firebase lub skopiować specyfikacje podów Firebase z GitHub i hostować je we własnym repozytorium specyfikacji.
W obu przypadkach zalecamy jak najszybsze przejście z CocoaPods. Po wycofaniu obsługi CocoaPods w październiku 2026 r. nie będziemy oficjalnie obsługiwać instalowania Firebase bezpośrednio ze specyfikacji podów. Jeśli zdecydujesz się hostować własne specyfikacje podów, będziesz odpowiedzialny(-a) za ich aktualizowanie.
Dlaczego obsługa CocoaPods zostanie wycofana w październiku 2026 r., skoro pody CocoaPods można publikować do grudnia 2026 r.?
Wybraliśmy październik, aby mieć pewność, że ostateczne wersje opublikowane w CocoaPods będą stabilne przed zablokowaniem rejestru w grudniu. Ten harmonogram zapewnia niezbędny margines bezpieczeństwa, który umożliwia bezpieczne koordynowanie tych ostatecznych aktualizacji, oraz gwarantuje, że pakiety SDK na wielu platformach, które zależą od natywnego pakietu SDK, ale mają opóźnione cykle wydawania, będą miały wystarczająco dużo czasu na przygotowanie własnych wersji.
Czy moja aplikacja przestanie działać, jeśli nie zaktualizuję jej?
Nie, to wycofanie dotyczy tylko przyszłych wersji bibliotek Firebase. Dotychczasowe wersje w CocoaPods będą nadal możliwe do zainstalowania, a wdrożone aplikacje korzystające z tych wersji podów nie będą miały problemów.
Czy ma to wpływ na rozliczenia projektu?
Nie.
Po migracji do menedżera pakietów Swift podczas kompilowania projektu pojawia się błąd „FirebaseLibrary not found” (Nie znaleziono biblioteki Firebase). Jak to naprawić?
Upewnij się, że pakiet Firebase został dodany do projektu Xcode.
Podczas dodawania pakietu Firebase Xcode wyświetli prośbę o dodanie frameworków Firebase do celów kompilacji aplikacji. Jeśli zapomnisz dodać framework w tym kroku, możesz go dodać później w ustawieniach celu w sekcji Build Phases > Link Binary with Libraries (Fazy kompilacji > Połącz plik binarny z bibliotekami). Jeśli projekt zawiera wiele celów, upewnij się, że Firebase jest dodany do prawidłowych celów.
Czy ta zmiana spowoduje przerwanie moich potoków CI/CD?
Nie, potoki uruchamiające pod install lub pod update będą nadal działać w przypadku dotychczasowych wersji. Nie będą jednak pobierać żadnych nowych aktualizacji bibliotek Firebase wydanych po październiku 2026 r.