Migracja z CocoaPods

CocoaPods ogłosiło, że w grudniu 2026 r. stanie się platformą tylko do odczytu, po czym nie będzie można publikować nowych wersji podów. W kolejnych sekcjach znajdziesz więcej informacji o tej zmianie i dowiesz się, jak przenieść aplikacje do innych menedżerów instalacji.

Przegląd

  • Co się zmienia? CocoaPods przechodzi w stan tylko do odczytu. Firebase 12 to ostatnia główna wersja opublikowana w CocoaPods. W październiku 2026 r. Firebase przestanie publikować nowe wersje w CocoaPods.
  • Czy moja aplikacja przestanie działać? Nie. Istniejące wersje bibliotek Firebase pozostaną dostępne w rejestrze CocoaPods, a aplikacje, które używają tych wersji CocoaPod, będą nadal działać, dopóki ekosystem CocoaPods będzie obsługiwany.
  • Dlaczego warto przeprowadzić migrację? Aby nadal korzystać z najnowszych funkcji, ulepszeń wydajności i krytycznych poprawek, przenieś korzystanie z Swift Package Manager lub ręcznej instalacji.

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 podrzędne:

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 na wszystkie dystrybucje Firebase, które zawierają natywny pakiet SDK Firebase Apple, w tym pakiet SDK Firebase Unity, pakiet SDK Firebase C++FlutterFire.

Migracja aplikacji Apple

Jeśli migrujesz inne zależności (niezwiązane z Firebase) z CocoaPods, pamiętaj, że najlepszą praktyką w branży jest używanie jednej metody instalacji w całym projekcie. Łączenie CocoaPods i Swift Package Manager (SPM) w ramach tego samego celu może prowadzić do złożonych cykli zależności i błędów kompilacji. Jeśli zależności inne niż Firebase nie obsługują jeszcze SPM, najbardziej stabilnym sposobem konsolidacji przepływu pracy podczas migracji jest ręczna instalacja bibliotek Firebase.

Swift Package Manager (SPM)

Czym jest Swift Package Manager?

Swift Package Manager (SPM) to natywne narzędzie Apple do zarządzania dystrybucją kodu. Jest on zintegrowany bezpośrednio z Xcode, co eliminuje konieczność 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ć .xcworkspace.

Migracja do Swift Package Manager

W przypadku większości projektów migracja do Swift Package Manager nie wymaga zmiany kodu aplikacji, chyba że projekt ma niestandardowe konfiguracje Xcode lub zależności, które w dużym stopniu wykorzystują skrypty instalacyjne CocoaPods.

Aby przejść z CocoaPods na Swift Package Manager:

  1. Sprawdź, czy wszystkie zależności aplikacji obsługują Swift Package Manager. Wszystkie biblioteki Firebase obsługują SPM, ale musisz sprawdzić, czy Twoje zależności inne niż Firebase obsługują SPM w ich repozytoriach GitHub lub na stronach produktów. Jeśli niektóre zależności inne niż Firebase nie obsługują SPM, ręczna instalacja zamiast SPM jest najbardziej stabilną ścieżką migracji z CocoaPods.
  2. Zamknij Xcode i usuń CocoaPods z projektu:
    1. Odinstaluj zależności CocoaPods, uruchamiając w katalogu projektu to polecenie:
      pod deintegrate
    2. Usuń wygenerowany przez CocoaPods plik .xcworkspace.
  3. W Xcode zaktualizuj projekt o zależności Swift Package Manager:
    1. Otwórz plik .xcodeproj projektu w Xcode.
    2. Ponownie dodaj zależności aplikacji, wybierając File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
  4. Po dodaniu pakietu Firebase możesz zaktualizować biblioteki Firebase, od których zależy Twoja aplikacja. W tym celu otwórz ustawienia projektu w Xcode, wybierz docelową aplikację 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 struktury XCFramework dla wszystkich usług Firebase. Dzięki temu możesz przeciągać i upuszczać poszczególne pakiety SDK bezpośrednio w projekcie Xcode bez używania menedżera zależności.

Migracja do instalacji ręcznej

  1. Zamknij Xcode i usuń CocoaPods z projektu:
    1. Odinstaluj zależności CocoaPods, uruchamiając w katalogu projektu to polecenie:
      pod deintegrate
    2. Usuń wygenerowany przez CocoaPods plik .xcworkspace.
  2. Aby ręcznie dodać Firebase do projektu, wykonaj czynności opisane w naszym przewodniku instalacji.

Przenoszenie aplikacji w Unity, C++ i Flutterze

Pakiety Firebase Unity SDK i FlutterFire

Większość deweloperów korzystających z Unity i Fluttera nie musi podejmować żadnych działań. Aktualizacja do najnowszej wersji Firebase w Unity lub Flutterze spowoduje automatyczną migrację podstawowego menedżera zależności na platformach Apple do Swift Package Manager.

Pamiętaj, że jeśli zarządzasz zależnościami innymi niż Firebase za pomocą CocoaPods, może być konieczne ręczne przeniesienie tych zależności.

pakiet Firebase C++ SDK

Jeśli uwzględniasz podstawowe zależności iOS za pomocą CocoaPods, możesz postępować zgodnie z powyższymi instrukcjami migracji, aby zaktualizować zależności Firebase CocoaPod i zamiast nich używać Swift Package Manager.

Najczęstsze pytania

Chcę nadal używać CocoaPods po październiku 2026 r. Jak utrzymać działanie aplikacji?

Możesz użyć starszych wersji pakietów Firebase lub skopiować specyfikacje pakietów Firebase z GitHub i umieścić 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 roku nie będziemy oficjalnie obsługiwać instalowania Firebase bezpośrednio z pliku podspec. Jeśli zdecydujesz się hostować własne pliki podspec, będziesz odpowiedzialny za ich aktualizowanie.

Dlaczego obsługa CocoaPods zostanie wycofana w październiku 2026 r., skoro pakiety 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 czasu na bezpieczne skoordynowanie tych ostatnich aktualizacji i gwarantuje, że pakiety SDK na różne platformy – które są zależne od natywnych pakietów SDK, ale mają opóźnione cykle wydawnicze – będą miały wystarczająco dużo czasu na przygotowanie własnych wersji.

Czy moja aplikacja przestanie działać, jeśli jej nie zaktualizuję?

Nie, wycofanie dotyczy tylko przyszłych wersji bibliotek Firebase. Firebase 12 to ostatnia główna wersja opublikowana w CocoaPods. Istniejące wersje (12 i starsze) w CocoaPods pozostaną instalowalne i funkcjonalne tak długo, jak długo będzie trwać obsługa ekosystemu CocoaPods.

Czy ma to wpływ na płatności za projekt?

Nie.

Podczas kompilowania projektu po przejściu na Swift Package Manager pojawia się błąd „FirebaseLibrary not found”. Jak to naprawić?

Sprawdź, czy pakiet Firebase został dodany do projektu Xcode.

Podczas dodawania pakietu Firebase Xcode wyświetli prośbę o dodanie platform Firebase do celów kompilacji aplikacji. Jeśli zapomnisz dodać framework na tym etapie, możesz to zrobić później w ustawieniach projektu w sekcji Build Phases > Link Binary with Libraries. Jeśli projekt zawiera wiele celów, upewnij się, że Firebase jest dodany do właściwych celów.

Czy ta zmiana spowoduje przerwanie moich potoków CI/CD?

Nie. Potoki działające w wersjach pod install lub pod update będą nadal działać w przypadku istniejących wersji. Nie będą jednak pobierać żadnych nowych aktualizacji biblioteki Firebase wydanych po październiku 2026 r.