CocoaPods, Aralık 2026'da salt okunur hale geleceğini ve bu tarihten sonra yeni pod sürümlerinin yayınlanamayacağını duyurdu. Aşağıdaki bölümlerde bu değişiklikle ilgili daha fazla bilgi verilmekte ve uygulamalarınızı diğer yükleme yöneticilerine nasıl taşıyacağınız açıklanmaktadır.
Genel Bakış
- Neler değişiyor? CocoaPods, salt okunur duruma geçiyor. Firebase 12, CocoaPods'da yayınlanan son ana sürümdür. Firebase, Ekim 2026'dan itibaren CocoaPods'da yeni sürüm yayınlamayacaktır.
- Uygulamam bozulur mu? Hayır. Firebase kitaplıklarının mevcut sürümleri CocoaPods kayıt defterinde kullanılabilir durumda kalacak ve bu CocoaPod sürümlerini kullanan uygulamalarınız, CocoaPods ekosistem desteği devam ettiği sürece çalışmaya devam edecek.
- Neden taşıma işlemi yapmalı? En yeni özellikleri, performans iyileştirmelerini ve kritik düzeltmeleri almaya devam etmek için Swift Package Manager'a veya manuel yüklemeye geçmeniz gerekir.
CocoaPods'un duyurusuna uygun olarak Firebase, Ekim 2026'da CocoaPods'da yeni sürümler yayınlamayı durduracak. Bu değişiklikler, aşağıdaki tüm pod'ları ve alt bağımlılıklarını etkiler:
| Etkilenen Firebase pod'ları | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
Bu değişiklikler ayrıca, yerel Firebase Apple SDK'sını sarmalayan tüm Firebase dağıtımlarını da etkileyecek. Bunlar arasında Firebase Unity SDK'sı, Firebase C++ SDK'sı ve FlutterFire yer alıyor.
Apple uygulamalarınızı taşıma
Diğer (Firebase dışı) bağımlılıkları CocoaPods'dan taşıyorsanız projenizin tamamı için tek bir yükleme yöntemi kullanmanın sektördeki en iyi uygulama olduğunu unutmayın. Aynı hedefte CocoaPods ve Swift Package Manager'ı (SPM) birlikte kullanmak, karmaşık bağımlılık döngülerine ve derleme hatalarına yol açabilir. Firebase dışı bağımlılıklarınız henüz SPM'yi desteklemiyorsa Firebase kitaplıkları için manuel yükleme yöntemini kullanmak, geçiş yaparken iş akışınızı birleştirmenin en kararlı yoludur.
Swift Package Manager (SPM)
Swift Package Manager nedir?
Swift Package Manager (SPM), Apple'ın kod dağıtımını yönetmek için kullandığı yerel araçtır. Doğrudan Xcode'a entegre edildiğinden CocoaPods gibi harici CLI araçlarına olan ihtiyacı ortadan kaldırır ve çoğu standart yapılandırma için .xcworkspace ihtiyacını ortadan kaldırarak proje yapınızı basitleştirir.
Swift Package Manager'ı kullanmaya geçme
Çoğu projede Swift Package Manager'a geçiş yapmak için uygulama kodunuzu değiştirmeniz gerekmez. Ancak projenizde özel Xcode yapılandırmaları veya CocoaPods yükleme komut dosyalarını yoğun şekilde kullanan bağımlılıklar varsa bu durum geçerli değildir.
CocoaPods'dan Swift Package Manager'a geçiş yapmak için aşağıdaki adımları uygulayın:
- Uygulamanızın her bir bağımlılığının Swift Package Manager'ı desteklediğini doğrulayın. Tüm Firebase kitaplıkları SPM'yi destekler ancak Firebase dışı bağımlılıklarınız için SPM desteğini GitHub depolarında veya ürün sayfalarında kontrol etmeniz gerekir. Firebase dışı bağımlılıklarınızdan bazıları SPM'yi desteklemiyorsa SPM yerine manuel yükleme kullanmak, CocoaPods'dan uzaklaşmak için en kararlı taşıma yoludur.
- Xcode kapalıyken CocoaPods'u projenizden kaldırın:
- Proje dizininizde aşağıdaki komutu çalıştırarak CocoaPods bağımlılıklarınızı kaldırın:
pod deintegrate
- CocoaPods tarafından oluşturulan
.xcworkspacedosyasını silin.
- Proje dizininizde aşağıdaki komutu çalıştırarak CocoaPods bağımlılıklarınızı kaldırın:
- Xcode'da projenizi Swift Package Manager bağımlılıklarıyla güncelleyin:
- Projenizin
.xcodeprojdosyasını Xcode üzerinden açın. - Dosya > Paket Bağımlılıkları Ekle'yi kullanarak uygulama bağımlılıklarınızı yeniden ekleyin.
- Projenizin
- Firebase paketi eklendikten sonra, Xcode'da proje ayarlarına gidip uygulama hedefinizi seçerek ve Frameworks, Libraries, and Embedded Content (Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerik) bölümündeki kitaplıkları güncelleyerek kullandığınız Firebase kitaplıklarını güncelleyebilirsiniz.
Apple belgelerinde Xcode'da SPM'yi kullanma hakkında daha fazla bilgi edinin.
Manuel yükleme
Manuel yükleme nedir?
Manuel yükleme, tüm Firebase ürünleri için önceden derlenmiş XCFramework'leri içeren Firebase.zip arşivinin indirilmesini içerir. Bu sayede, bağımlılık yöneticisi kullanmadan belirli SDK'ları doğrudan Xcode projenize sürükleyip bırakabilirsiniz.
Manuel yükleme yöntemine geçme
- Xcode kapalıyken CocoaPods'u projenizden kaldırın:
- Proje dizininizde aşağıdaki komutu çalıştırarak CocoaPods bağımlılıklarınızı kaldırın:
pod deintegrate
- CocoaPods tarafından oluşturulan
.xcworkspacedosyasını silin.
- Proje dizininizde aşağıdaki komutu çalıştırarak CocoaPods bağımlılıklarınızı kaldırın:
- Firebase'i projenize manuel olarak eklemek için kurulum kılavuzumuzdaki adımları uygulayın.
Unity, C++ ve Flutter uygulamalarınızı taşıma
Firebase Unity SDK ve FlutterFire
Çoğu Unity ve Flutter geliştiricisinin herhangi bir işlem yapması gerekmez. Unity veya Flutter'da Firebase'in en yeni sürümüne güncelleme yaptığınızda Apple platformlarındaki temel bağımlılık yöneticiniz otomatik olarak Swift Package Manager'a taşınır.
Firebase dışı bağımlılıkları CocoaPods aracılığıyla yönetiyorsanız bunları manuel olarak taşımanız gerekebilir.
Firebase C++ SDK
Temel iOS bağımlılıklarını CocoaPods aracılığıyla ekliyorsanız Firebase CocoaPod bağımlılıklarınızı Swift Package Manager'ı kullanacak şekilde güncellemek için yukarıdaki taşıma talimatlarını uygulayabilirsiniz.
SSS
Ekim 2026'dan sonra CocoaPods'u kullanmaya devam etmem gerekiyor. Uygulamamın çalışmaya devam etmesini nasıl sağlarım?
Firebase pod'larının eski sürümlerini kullanabilir veya Firebase podspec'lerini GitHub'dan kopyalayıp kendi spesifikasyon deponuzda barındırabilirsiniz.
Her iki durumda da CocoaPods'dan en kısa sürede geçiş yapmanızı öneririz. Ekim 2026'da CocoaPods desteği sonlandırıldıktan sonra Firebase'i doğrudan podspec'ten yükleme konusunda resmi destek sunulmayacaktır. Kendi podspec'lerinizi barındırmayı seçerseniz bunları güncel tutmaktan siz sorumlu olursunuz.
CocoaPods Aralık 2026'ya kadar yayınlanabilecekse CocoaPods desteği neden Ekim 2026'da sonlandırılıyor?
Aralık ayında kayıt defteri kilitlenmeden önce CocoaPods'da yayınlanan son sürümlerin kararlı olduğundan emin olmak için ekim ayını seçtik. Bu zaman çizelgesi, son güncellemeleri güvenli bir şekilde koordine etmek için gerekli olan zamanı sağlar ve yerel SDK'ya bağlı olan ancak sürüm döngüleri geciken platformlar arası SDK'ların kendi sürümlerini hazırlamak için yeterli zamanı olmasını sağlar.
Uygulamamı güncellemezsem çalışmayı durdurur mu?
Hayır, bu değişiklik yalnızca Firebase kitaplıklarının gelecekteki sürümlerini etkiler. Firebase 12, CocoaPods'da yayınlanan son ana sürümdür. CocoaPods'daki mevcut sürümler (12 ve önceki sürümler), CocoaPods ekosistem desteği devam ettiği sürece yüklenebilir ve çalışır durumda kalır.
Bu durum proje faturalandırmasını etkiler mi?
Hayır.
Projemde Swift Package Manager'a geçiş yaptıktan sonra derleme yaparken "FirebaseLibrary bulunamadı" hatası alıyorum. Bu durumu nasıl düzeltebilirim?
Firebase paketini Xcode projenize eklediğinizden emin olun.
Firebase paketini eklerken Xcode, uygulamanızın derleme hedeflerine Firebase çerçevelerini eklemenizi ister. Bu adımda çerçeve eklemeyi unutursanız daha sonra hedefinizin ayarlarında Build Phases > Link Binary with Libraries (Derleme Aşamaları > İkili Dosyayı Kitaplıklara Bağla) bölümünden ekleyebilirsiniz. Projeniz birden fazla hedef içeriyorsa Firebase'i doğru hedeflere eklediğinizden emin olun.
Bu geçiş işlemi CI/CD ardışık düzenlerimi bozar mı?
Hayır, pod install veya pod update çalıştıran ardışık düzenler mevcut sürümler için çalışmaya devam edecek. Ancak Ekim 2026'dan sonra yayınlanan yeni Firebase kitaplığı güncellemelerini almazlar.