CocoaPods, Aralık 2026'da salt okunur hale geleceğini duyurdu. Bu tarihten sonra yeni pod sürümleri yayınlanamayacak. Aşağıdaki bölümlerde bu değişiklik hakkında 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'e yayınlanan son ana sürümdür ve Firebase, Ekim 2026'da CocoaPods'e yeni sürümler yayınlamayı durduracaktır.
- Uygulamam bozulur mu? Hayır. Firebase kitaplıklarının mevcut sürümleri CocoaPods kayıt defterinde kullanılmaya devam edecek ve bu CocoaPods 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ısınız? En yeni özellikleri, performans iyileştirmelerini ve önemli düzeltmeleri almaya devam etmek için kullanımı Swift Package Manager'a veya manuel kuruluma taşımanız gerekir.
CocoaPods'un duyurusunu dikkate alan Firebase, Ekim 2026'da CocoaPods'a yeni sürümler yayınlamayı durduracak. Bu değişiklikler aşağıdaki tüm pod'ları ve bunların 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, Firebase Unity SDK, Firebase C++ SDK ve FlutterFire dahil olmak üzere yerel Firebase Apple SDK'sını sarmalayan tüm Firebase dağıtımlarını da etkileyecektir.
Apple uygulamalarınızı taşıma
CocoaPods'dan diğer (Firebase olmayan) bağımlılıkları 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 kullanmak, taşıma işlemi sırasında 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. Xcode'a doğrudan entegre edildiğinden CocoaPods gibi harici CLI araçlarına gerek kalmaz 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çiş yapma
Çoğu proje için Swift Package Manager'a geçiş, projenizde özel Xcode yapılandırmaları veya CocoaPods yükleme komut dosyalarını yoğun şekilde kullanan bağımlılıklar olmadığı sürece uygulama kodunuzun değiştirilmesini gerektirmez.
CocoaPods'tan Swift Package Manager'a nasıl geçeceğiniz aşağıda açıklanmıştır:
- Uygulamanızın bağımlılıklarının her birinin 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ın GitHub depolarında veya ürün sayfalarında SPM desteğini kontrol etmeniz gerekir. Firebase dışı bağımlılıklarınızdan bazıları SPM'yi desteklemiyorsa CocoaPods'dan uzaklaşmak için en kararlı taşıma yolu SPM yerine manuel yüklemeyi kullanmaktır.
- 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 ile 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 bölümündeki kitaplıkları güncelleyerek bağlı olduğunuz Firebase kitaplıklarını güncelleyebilirsiniz.
Apple belgelerinden Xcode'da ÖİOY'yi kullanma hakkında daha fazla bilgi edinin.
Manuel yükleme
Manuel kurulum nedir?
Manuel yükleme, tüm Firebase ürünleri için önceden derlenmiş XCFramework'leri içeren Firebase.zip arşivinin indirilmesini gerektirir. Bu sayede, bağımlılık yöneticisi kullanmadan belirli SDK'ları doğrudan Xcode projenize sürükleyip bırakabilirsiniz.
Manuel yüklemeyi kullanmaya geçiş yapma
- 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 yükleme kılavuzumuzdaki adımları uygulayın.
Unity, C++ ve Flutter uygulamalarınızı taşıma
Firebase Unity SDK'sı ve FlutterFire
Çoğu Unity ve Flutter geliştiricisinin herhangi bir işlem yapması gerekmez. Unity veya Flutter'da Firebase'in en son 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 üzerinden yönetiyorsanız bunları manuel olarak taşımanız gerekebilir.
Firebase C++ SDK
Temel iOS bağımlılıklarını CocoaPods aracılığıyla dahil ediyorsanı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 spec 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'in doğrudan podspec'ten yüklenmesi için resmi destek sağlamayacağız. Kendi podspec'lerinizi barındırmayı seçerseniz bunları güncel tutmak sizin sorumluluğunuzda olur.
CocoaPods Aralık 2026'ya kadar yayınlanabilirken CocoaPods desteği neden Ekim 2026'da sonlandırılıyor?
Aralık ayında kayıt kilitlenmeden önce CocoaPods'de yayınlanan son sürümlerin kararlı olmasını sağlamak için Ekim ayını seçtik. Bu zaman çizelgesi, son güncellemelerin güvenli bir şekilde koordine edilmesi için gerekli bir tampon sağlar ve yerel SDK'ya bağlı olmasına rağmen yayınlanma döngüleri geciken platformlar arası SDK'ların kendi yayınlarını hazırlamaları için yeterli zamanı olmasını sağlar.
Uygulamamı güncellemezsem çalışmayı durdurur mu?
Hayır, bu destek sonlandırma yalnızca Firebase kitaplıklarının gelecekteki sürümlerini etkiler. Firebase 12, CocoaPods'e yayınlanan son ana sürümdür. CocoaPods ekosistem desteği devam ettiği sürece CocoaPods'teki mevcut sürümler (v12 ve önceki sürümler) yüklenebilir ve işlevsel kalır.
Bu durum proje faturalandırmasını etkiler mi?
Hayır.
Swift Package Manager'a geçtikten sonra projemi derlerken "FirebaseLibrary not found" (FirebaseLibrary bulunamadı) hatası alıyorum. Bu durumu nasıl düzeltebilirim?
Firebase paketini Xcode projenize eklediğinizden emin olun.
Firebase paketini eklerken Xcode, Firebase çerçevelerini uygulamanızın derleme hedeflerine eklemenizi ister. Bu adımda bir çerçeve eklemeyi unutursanız hedefinizin ayarlarında Build Phases > Link Binary with Libraries bölümünden istediğiniz zaman ekleyebilirsiniz. Projeniz birden fazla hedef içeriyorsa Firebase'in doğru hedeflere eklendiğinden emin olun.
Bu geçiş işlemi CI/CD işlem hatlarımı bozar mı?
Hayır, pod install veya pod update çalıştıran işlem hatları mevcut sürümlerde çalışmaya devam edecek. Ancak Ekim 2026'dan sonra yayınlanan yeni Firebase kitaplığı güncellemelerini çekmezler.