CocoaPods mengumumkan bahwa mereka akan menjadi hanya baca pada Desember 2026, setelah itu versi pod baru tidak dapat lagi dipublikasikan. Bagian berikut memberikan informasi selengkapnya tentang perubahan ini, dan menjelaskan cara memigrasikan aplikasi Anda ke pengelola penginstalan lainnya.
Ringkasan
- Apa yang berubah? CocoaPods akan beralih ke status hanya baca, dan Firebase akan berhenti memublikasikan versi baru ke CocoaPods pada Oktober 2026.
- Apakah aplikasi saya akan rusak? Tidak. Versi library Firebase yang ada akan tetap tersedia tanpa batas waktu di registry CocoaPods, dan aplikasi Anda yang menggunakan versi CocoaPod tersebut akan terus berfungsi.
- Mengapa harus bermigrasi? Untuk terus menerima fitur terbaru, peningkatan performa dan perbaikan penting, Anda harus bermigrasi menggunakan Swift Package Manager atau penginstalan manual.
Untuk mengakomodasi pengumuman dari CocoaPods, Firebase akan berhenti memublikasikan versi baru ke CocoaPods pada Oktober 2026. Perubahan ini memengaruhi semua pod berikut dan subdependensinya:
| Pod Firebase yang terpengaruh | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
Perubahan ini juga akan memengaruhi semua distribusi Firebase yang menggabungkan native Firebase Apple SDK, termasuk Firebase Unity SDK, Firebase C++ SDK, dan FlutterFire.
Memigrasikan aplikasi Apple
Jika Anda memigrasikan dependensi lain (non-Firebase) dari CocoaPods, perhatikan bahwa praktik terbaik industri adalah menggunakan satu metode penginstalan untuk seluruh project Anda. Mencampur CocoaPods dan Swift Package Manager (SPM) dalam target yang sama dapat menyebabkan siklus dependensi yang kompleks dan error build. Jika dependensi non-Firebase Anda belum mendukung SPM, menggunakan penginstalan manual untuk library Firebase adalah cara paling stabil untuk mengonsolidasikan alur kerja saat Anda bermigrasi.
Swift Package Manager (SPM)
Apa yang dimaksud dengan Swift Package Manager?
Swift Package Manager (SPM) adalah alat native Apple untuk mengelola distribusi kode. Alat ini terintegrasi langsung ke Xcode, sehingga tidak memerlukan alat CLI eksternal seperti CocoaPods dan menyederhanakan struktur project Anda dengan menghapus kebutuhan akan .xcworkspace untuk sebagian besar konfigurasi standar.
Bermigrasi untuk menggunakan Swift Package Manager
Untuk sebagian besar project, bermigrasi ke Swift Package Manager tidak mengharuskan Anda mengubah kode aplikasi, kecuali jika project Anda memiliki konfigurasi Xcode atau dependensi kustom yang menggunakan skrip penginstalan CocoaPods secara intensif.
Berikut cara bermigrasi ke Swift Package Manager dari CocoaPods:
- Pastikan setiap dependensi aplikasi Anda mendukung Swift Package Manager. Semua library Firebase mendukung SPM, tetapi Anda harus memeriksa dukungan SPM untuk dependensi non-Firebase di repositori GitHub atau halaman produknya. Jika beberapa dependensi non-Firebase Anda tidak mendukung SPM, maka menggunakan penginstalan manual alih-alih SPM adalah jalur migrasi paling stabil dari CocoaPods.
- Dengan Xcode ditutup, hapus CocoaPods dari project Anda:
- Uninstal dependensi CocoaPods Anda dengan menjalankan perintah berikut di direktori project Anda:
pod deintegrate
- Hapus
.xcworkspaceyang dihasilkan CocoaPods.
- Uninstal dependensi CocoaPods Anda dengan menjalankan perintah berikut di direktori project Anda:
- Di Xcode, perbarui project Anda dengan dependensi Swift Package Manager:
- Buka file
.xcodeprojproject Anda melalui Xcode. - Tambahkan kembali dependensi aplikasi Anda menggunakan File > Add Package Dependencies.
- Buka file
- Setelah paket Firebase ditambahkan, Anda dapat memperbarui library Firebase yang Anda gunakan dengan membuka setelan project di Xcode, memilih target aplikasi, dan memperbarui library di bagian Frameworks, Libraries, and Embedded Content.
Pelajari lebih lanjut tentang cara menggunakan SPM di Xcode dalam dokumentasi Apple.
Penginstalan manual
Apa yang dimaksud dengan penginstalan manual?
Penginstalan manual melibatkan mendownload arsip Firebase.zip, yang berisi XCFrameworks yang telah dikompilasi sebelumnya untuk semua produk Firebase. Hal ini memungkinkan Anda melakukan drag and drop SDK tertentu langsung ke project Xcode tanpa menggunakan pengelola dependensi.
Bermigrasi untuk menggunakan penginstalan manual
- Dengan Xcode ditutup, hapus CocoaPods dari project Anda:
- Uninstal dependensi CocoaPods Anda dengan menjalankan perintah berikut di direktori project Anda:
pod deintegrate
- Hapus
.xcworkspaceyang dihasilkan CocoaPods.
- Uninstal dependensi CocoaPods Anda dengan menjalankan perintah berikut di direktori project Anda:
- Ikuti langkah-langkah dalam panduan penginstalan kami untuk menambahkan Firebase ke project Anda secara manual.
Memigrasikan aplikasi Unity, C++, dan Flutter
Firebase Unity SDK dan FlutterFire
Tidak ada tindakan yang diperlukan untuk sebagian besar developer Unity dan Flutter. Mengupdate ke versi Firebase terbaru di Unity atau Flutter akan otomatis memigrasikan pengelola dependensi yang mendasarinya di platform Apple ke Swift Package Manager.
Perhatikan bahwa jika Anda mengelola dependensi non-Firebase melalui CocoaPods, Anda mungkin perlu memigrasikannya secara manual.
Firebase C++ SDK
Jika Anda menyertakan dependensi iOS yang mendasarinya melalui CocoaPods, Anda dapat mengikuti petunjuk migrasi di atas untuk mengupdate dependensi CocoaPod Firebase Anda agar menggunakan Swift Package Manager.
FAQ
Saya harus terus menggunakan CocoaPods setelah Oktober 2026. Bagaimana cara menjaga aplikasi saya tetap berjalan?
Dalam kedua kasus tersebut, sebaiknya Anda bermigrasi dari CocoaPods sesegera mungkin. Kami tidak akan memberikan dukungan resmi untuk menginstal Firebase langsung dari podspec setelah dukungan CocoaPods dihentikan pada Oktober 2026. Jika Anda memilih untuk menghosting podspec Anda sendiri, Anda akan bertanggung jawab untuk terus memperbaruinya.
Mengapa dukungan untuk CocoaPods dihentikan pada Oktober 2026, padahal CocoaPods dapat dipublikasikan hingga Desember 2026?
Kami memilih Oktober untuk memastikan versi final yang dipublikasikan ke CocoaPods stabil sebelum registry dikunci pada bulan Desember. Linimasa ini memberikan waktu yang cukup untuk mengoordinasikan update final ini dengan aman, dan memastikan bahwa SDK lintas platform—yang bergantung pada SDK native tetapi memiliki siklus rilis yang tertunda—memiliki banyak waktu untuk menyiapkan rilisnya sendiri.
Apakah aplikasi saya akan berhenti berfungsi jika saya tidak mengupdate?
Tidak, penghentian ini hanya memengaruhi rilis library Firebase mendatang. Versi yang ada di CocoaPods akan tetap dapat diinstal dan aplikasi yang di-deploy menggunakan versi pod tersebut tidak akan terpengaruh.
Apakah hal ini memengaruhi penagihan project?
Tidak.
Saya mendapatkan error "FirebaseLibrary not found" saat mengompilasi project setelah bermigrasi ke Swift Package Manager. Bagaimana cara mengatasi ini?
Pastikan Anda telah menambahkan paket Firebase ke project Xcode Anda.
Saat menambahkan paket Firebase, Xcode akan meminta Anda menambahkan framework Firebase ke target build aplikasi Anda. Jika Anda lupa menambahkan framework selama langkah ini, Anda selalu dapat menambahkannya nanti di setelan target Anda di bagian Build Phases > Link Binary with Libraries. Jika project Anda berisi beberapa target, pastikan Anda telah menambahkan Firebase ke target yang benar.
Apakah transisi ini akan merusak pipeline CI/CD saya?
Tidak, pipeline yang menjalankan pod install atau pod update akan terus berfungsi untuk versi yang ada. Namun, pipeline tersebut tidak akan mengambil update library Firebase baru yang dirilis setelah Oktober 2026.