Migracja z CocoaPods

Firma CocoaPods ogłosiła, że w grudniu 2026 r. jej usługi staną się dostępne tylko do odczytu, po czym nie będzie już można publikować nowych wersji podów. W sekcjach poniżej znajdziesz więcej informacji o tej zmianie oraz o tym, 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 wersja główna opublikowana w CocoaPods. Firebase przestanie publikować nowe wersje w CocoaPods w październiku 2026 r.
  • Czy moja aplikacja przestanie działać? Nie. Dotychczasowe wersje bibliotek Firebase pozostaną dostępne w rejestrze CocoaPods, a aplikacje, które korzystają z tych wersji CocoaPods, będą nadal działać, dopóki będzie dostępne wsparcie dla ekosystemu CocoaPods.
  • Dlaczego migrować? Aby nadal otrzymywać najnowsze funkcje, ulepszenia wydajności i krytyczne poprawki, przejdź na Swift Package Manager 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 podrzędne 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 wpłyną dodatkowo na wszystkie dystrybucje Firebase, które zawierają natywny pakiet SDK Firebase Apple, w tym pakiet Firebase Unity SDK, pakiet Firebase C++ SDK i FlutterFire.

Przenoszenie aplikacji Apple

Jeśli przenosisz inne zależności (nie Firebase) z CocoaPods, pamiętaj, że sprawdzoną metodą 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 spoza Firebase nie obsługują jeszcze SPM, ręczna instalacja bibliotek Firebase jest najbardziej stabilnym sposobem na ujednolicenie przepływu pracy podczas migracji.

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 potrzebę korzystania z zewnętrznych narzędzi CLI, takich jak CocoaPods, i upraszcza strukturę projektu, ponieważ w przypadku większości standardowych konfiguracji nie jest potrzebny plik .xcworkspace.

Przejście na Swift Package Manager

W przypadku większości projektów migracja do Swift Package Managera nie wymaga zmiany kodu aplikacji, chyba że projekt ma niestandardowe konfiguracje Xcode lub zależności, które intensywnie korzystają ze skryptów instalacyjnych CocoaPods.

Aby przejść z CocoaPods na Swift Package Manager:

  1. Sprawdź, czy wszystkie zależności aplikacji obsługują menedżera pakietów Swift. Wszystkie biblioteki Firebase obsługują SPM, ale musisz sprawdzić, czy SPM obsługuje zależności niezwiązane z Firebase, w ich repozytoriach GitHub lub na stronach usług. Jeśli niektóre zależności spoza Firebase nie obsługują SPM, najstabilniejszą ścieżką migracji z CocoaPods jest ręczna instalacja zamiast SPM.
  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ń plik .xcworkspace wygenerowany przez CocoaPods.
  3. W Xcode zaktualizuj projekt za pomocą zależności Swift Package Manager:
    1. Otwórz plik .xcodeproj projektu w Xcode.
    2. Ponownie dodaj zależności aplikacji, wybierając File (Plik) > Add Package Dependencies (Dodaj zależności pakietu).
  4. Po dodaniu pakietu Firebase możesz zaktualizować biblioteki Firebase, których używasz. W tym celu otwórz ustawienia projektu w Xcode, wybierz aplikację docelową i zaktualizuj biblioteki w sekcji Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i treści umieszczone).

Więcej informacji o korzystaniu z SPM w Xcode znajdziesz w dokumentacji Apple.

Instalacja ręczna

Czym jest instalacja ręczna?

Instalacja ręczna obejmuje pobranie archiwum Firebase.zip, które zawiera wstępnie skompilowane pakiety XCFramework 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

  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ń plik .xcworkspace wygenerowany przez CocoaPods.
  2. Aby ręcznie dodać Firebase do projektu, wykonaj czynności opisane w przewodniku instalacji.

Przenoszenie aplikacji Unity, C++ i Flutter

Pakiet Firebase Unity SDK i FlutterFire

W przypadku większości deweloperów korzystających z Unity i Fluttera nie są wymagane żadne działania. Aktualizacja do najnowszej wersji Firebase w Unity lub Flutterze spowoduje automatyczną migrację podstawowego menedżera zależności na platformach Apple do Swift Package Managera.

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

pakiet Firebase C++ SDK

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

Najczęstsze pytania

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

Możesz użyć starszych wersji podów Firebase lub skopiować podspecyfikacje Firebase z GitHuba i hostować je we własnym repozytorium specyfikacji.

W obu przypadkach zalecamy jak najszybsze przejście z CocoaPods na inne rozwiązanie. Po zakończeniu obsługi CocoaPods w październiku 2026 r. nie będziemy zapewniać oficjalnej pomocy w instalowaniu Firebase bezpośrednio z podspec. Jeśli zdecydujesz się hostować własne pliki podspec, musisz dbać o to, aby były aktualne.

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 czas na bezpieczne skoordynowanie tych ostatecznych aktualizacji i gwarantuje, że pakiety SDK na wiele platform, które zależą od natywnego pakietu SDK, ale mają opóźnione cykle wydawnicze, będą miały wystarczająco dużo czasu na przygotowanie własnych wersji.

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

Nie, to wycofanie dotyczy tylko przyszłych wersji bibliotek Firebase. Firebase 12 to ostatnia wersja główna opublikowana w CocoaPods. Istniejące wersje (12 i starsze) w CocoaPods będą nadal możliwe do zainstalowania i będą działać, dopóki będzie kontynuowana obsługa ekosystemu CocoaPods.

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

Nie.

Podczas kompilowania projektu po przejściu na menedżera pakietów Swift pojawia się błąd „Nie znaleziono FirebaseLibrary”. Jak to naprawić?

Upewnij się, że pakiet Firebase został dodany do projektu Xcode.

Podczas dodawania pakietu Firebase Xcode poprosi Cię o dodanie platform Firebase do celów kompilacji aplikacji. Jeśli zapomnisz dodać platformę na tym etapie, możesz to zrobić później w ustawieniach celu w sekcji Build Phases > Link Binary with Libraries (Etapy kompilacji > Połącz plik binarny z bibliotekami). Jeśli projekt zawiera wiele celów, upewnij się, że Firebase jest dodany do właściwych celów.

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

Nie, potoki, w których działa 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.