CocoaPods ने एलान किया है कि दिसंबर 2026 में, यह रीड-ओनली मोड में चला जाएगा. इसके बाद, पॉड के नए वर्शन पब्लिश नहीं किए जा सकेंगे. इन सेक्शन में, इस बदलाव के बारे में ज़्यादा जानकारी दी गई है. साथ ही, यह भी बताया गया है कि अपने ऐप्लिकेशन को दूसरे इंस्टॉलेशन मैनेजर पर कैसे माइग्रेट किया जाए.
खास जानकारी
- क्या बदल रहा है? CocoaPods रीड-ओनली मोड में जा रहा है. साथ ही, Firebase, अक्टूबर 2026 के बाद CocoaPods पर नए वर्शन पब्लिश नहीं करेगा.
- क्या मेरा ऐप्लिकेशन काम करना बंद कर देगा? नहीं. Firebase लाइब्रेरी के मौजूदा वर्शन, CocoaPods रजिस्ट्री पर हमेशा उपलब्ध रहेंगे. साथ ही, आपके वे ऐप्लिकेशन काम करते रहेंगे जो CocoaPods के इन वर्शन का इस्तेमाल करते हैं.
- माइग्रेट क्यों करें? नई सुविधाएं, परफ़ॉर्मेंस में सुधार, और ज़रूरी फ़िक्स पाने के लिए, आपको Swift Package Manager या मैन्युअल इंस्टॉलेशनपर माइग्रेट करना चाहिए.
CocoaPods के एलान के मुताबिक, Firebase, अक्टूबर 2026 के बाद CocoaPods पर नए वर्शन पब्लिश नहीं करेगा. इन बदलावों का असर, इन सभी पॉड और उनकी सब-डिपेंडेंसी पर पड़ेगा:
| Firebase के वे पॉड जिन पर असर पड़ेगा | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
इन बदलावों का असर, Firebase के उन सभी डिस्ट्रिब्यूशन पर भी पड़ेगा जो नेटिव Firebase Apple SDK को रैप करते हैं. इनमें Firebase Unity SDK, Firebase C++ SDK, और FlutterFire शामिल हैं.
अपने Apple ऐप्लिकेशन माइग्रेट करना
अगर CocoaPods से, Firebase के अलावा अन्य डिपेंडेंसी माइग्रेट की जा रही हैं, तो ध्यान दें कि पूरे प्रोजेक्ट के लिए, इंस्टॉलेशन का एक ही तरीका इस्तेमाल करना इंडस्ट्री का सबसे अच्छा तरीका है. एक ही टारगेट में CocoaPods और Swift Package Manager (एसपीएम) को मिक्स करने से, डिपेंडेंसी के जटिल साइकल बन सकते हैं और बिल्ड में गड़बड़ियां आ सकती हैं. अगर Firebase के अलावा अन्य डिपेंडेंसी, अब तक एसपीएम के साथ काम नहीं करती हैं, तो Firebase लाइब्रेरी के लिए मैन्युअल इंस्टॉलेशन का इस्तेमाल करना, आपके वर्कफ़्लो को मज़बूत करने का सबसे सही तरीका है. इससे माइग्रेट करने में भी मदद मिलती है.
Swift Package Manager (एसपीएम)
Swift Package Manager क्या है?
Swift Package Manager (एसपीएम), Apple का एक ऐसा टूल है जिसकी मदद से कोड डिस्ट्रिब्यूशन को मैनेज किया जाता है. यह सीधे Xcode में इंटिग्रेट होता है. इससे CocoaPods जैसे बाहरी सीएलआई टूल की ज़रूरत नहीं पड़ती. साथ ही, ज़्यादातर स्टैंडर्ड कॉन्फ़िगरेशन के लिए .xcworkspace की ज़रूरत नहीं होती. इससे आपके प्रोजेक्ट का स्ट्रक्चर आसान हो जाता है.
Swift Package Manager का इस्तेमाल करने के लिए माइग्रेट करना
ज़्यादातर प्रोजेक्ट के लिए, Swift Package Manager पर माइग्रेट करने के लिए, ऐप्लिकेशन के कोड में बदलाव करने की ज़रूरत नहीं होती. हालांकि, अगर आपके प्रोजेक्ट में Xcode के कस्टम कॉन्फ़िगरेशन या ऐसी डिपेंडेंसी हैं जो CocoaPods के इंस्टॉल स्क्रिप्ट का ज़्यादा इस्तेमाल करती हैं, तो आपको कोड में बदलाव करना पड़ सकता है.
CocoaPods से Swift Package Manager पर माइग्रेट करने का तरीका यहां दिया गया है:
- पक्का करें कि आपके ऐप्लिकेशन की हर डिपेंडेंसी, Swift Package Manager के साथ काम करती हो. Firebase की सभी लाइब्रेरी, एसपीएम के साथ काम करती हैं. हालांकि, आपको GitHub रिपॉज़िटरी या प्रॉडक्ट पेजों में, Firebase के अलावा अन्य डिपेंडेंसी के लिए एसपीएम की सुविधा की जांच करनी होगी. अगर Firebase के अलावा अन्य कुछ डिपेंडेंसी, एसपीएम के साथ काम नहीं करती हैं, तो मैन्युअल इंस्टॉलेशन का इस्तेमाल करना, एसपीएम से माइग्रेट करने का सबसे सही तरीका है.
- Xcode बंद करके, अपने प्रोजेक्ट से CocoaPods हटाएं:
- अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
pod deintegrate
- CocoaPods से जनरेट किया गया
.xcworkspaceमिटाएं.
- अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
- Xcode में, Swift Package Manager की डिपेंडेंसी के साथ अपने प्रोजेक्ट को अपडेट करें:
- Xcode की मदद से, अपने प्रोजेक्ट की
.xcodeprojफ़ाइल खोलें. - फ़ाइल > पैकेज की डिपेंडेंसी जोड़ें का इस्तेमाल करके, अपने ऐप्लिकेशन की डिपेंडेंसी फिर से जोड़ें.
- Xcode की मदद से, अपने प्रोजेक्ट की
- Firebase पैकेज जोड़ने के बाद, Xcode में प्रोजेक्ट की सेटिंग पर जाकर, अपने ऐप्लिकेशन का टारगेट चुनकर, और फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट में जाकर, उन Firebase लाइब्रेरी को अपडेट किया जा सकता है जिन पर आपका ऐप्लिकेशन निर्भर है.
Xcode में एसपीएम का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Apple का दस्तावेज़ देखें.
मैन्युअल रूप से इंस्टॉल करना
मैन्युअल रूप से इंस्टॉल करने का मतलब क्या है?
मैन्युअल रूप से इंस्टॉल करने के लिए, Firebase.zip संग्रह डाउनलोड करना होता है. इसमें Firebase के सभी प्रॉडक्ट के लिए, पहले से कंपाइल किए गए XCFramework शामिल होते हैं. इससे, डिपेंडेंसी मैनेजर का इस्तेमाल किए बिना, सीधे अपने Xcode प्रोजेक्ट में खास एसडीके को ड्रैग और ड्रॉप किया जा सकता है.
मैन्युअल रूप से इंस्टॉल करने के लिए माइग्रेट करना
- Xcode बंद करके, अपने प्रोजेक्ट से CocoaPods हटाएं:
- अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
pod deintegrate
- CocoaPods से जनरेट किया गया
.xcworkspaceमिटाएं.
- अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
- अपने प्रोजेक्ट में Firebase को मैन्युअल तरीके से जोड़ने के लिए, हमारी इंस्टॉलेशन गाइड में दिए गए तरीके अपनाएं.
अपने Unity, C++, और Flutter ऐप्लिकेशन माइग्रेट करना
Firebase Unity SDK और FlutterFire
ज़्यादातर Unity और Flutter डेवलपर को कोई कार्रवाई करने की ज़रूरत नहीं है. Unity या Flutter पर Firebase के नए वर्शन पर अपडेट करने से, Apple प्लैटफ़ॉर्म पर मौजूद आपका डिपेंडेंसी मैनेजर, Swift Package Manager पर अपने-आप माइग्रेट हो जाएगा.
ध्यान दें कि अगर CocoaPods की मदद से, Firebase के अलावा अन्य डिपेंडेंसी मैनेज की जा रही हैं, तो आपको उन्हें मैन्युअल तरीके से माइग्रेट करना पड़ सकता है.
Firebase C++ SDK
अगर आपने CocoaPods की मदद से, iOS की डिपेंडेंसी शामिल की हैं, तो Firebase की CocoaPods डिपेंडेंसी को अपडेट करने के लिए, ऊपर दिए गए माइग्रेशन के निर्देशों का पालन करें. इससे, Swift Package Manager का इस्तेमाल किया जा सकेगा.
अक्सर पूछे जाने वाले सवाल
मुझे अक्टूबर 2026 के बाद भी CocoaPods का इस्तेमाल करना है. मैं अपने ऐप्लिकेशन को कैसे चालू रखूं?
आपके पास Firebase पॉड के पुराने वर्शन इस्तेमाल करने या GitHub से Firebase podspecs कॉपी करके, GitHub उन्हें अपनी specs रिपॉज़िटरी में होस्ट करने का विकल्प है.
दोनों ही मामलों में, हमारा सुझाव है कि CocoaPods से जल्द से जल्द माइग्रेट करें. अक्टूबर 2026 में CocoaPods के लिए सहायता बंद होने के बाद, हम podspec से सीधे Firebase इंस्टॉल करने के लिए आधिकारिक सहायता उपलब्ध नहीं कराएंगे. अगर आपने अपने podspecs को होस्ट करने का विकल्प चुना है, तो आपको उन्हें अप-टू-डेट रखना होगा.
CocoaPods के लिए सहायता, अक्टूबर 2026 में क्यों बंद की जा रही है, जबकि CocoaPods को दिसंबर 2026 तक पब्लिश किया जा सकता है?
हमने अक्टूबर को इसलिए चुना है, ताकि CocoaPods पर पब्लिश किए गए फ़ाइनल वर्शन, दिसंबर में रजिस्ट्री लॉक होने से पहले स्टेबल हों. इस टाइमलाइन से, इन फ़ाइनल अपडेट को सुरक्षित तरीके से कोऑर्डिनेट करने में मदद मिलती है. साथ ही, यह पक्का होता है कि क्रॉस-प्लैटफ़ॉर्म एसडीके—जो नेटिव एसडीके पर निर्भर होते हैं, लेकिन जिनकी रिलीज़ साइकल में देरी होती है—के पास अपनी रिलीज़ तैयार करने के लिए काफ़ी समय हो.
अगर मैंने अपडेट नहीं किया, तो क्या मेरा ऐप्लिकेशन काम करना बंद कर देगा?
नहीं, इस सुविधा को बंद करने का असर, Firebase लाइब्रेरी की आने वाली रिलीज़ पर ही पड़ेगा. CocoaPods में मौजूद वर्शन इंस्टॉल किए जा सकेंगे. साथ ही, उन पॉड वर्शन का इस्तेमाल करने वाले डिप्लॉय किए गए ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.
क्या इससे प्रोजेक्ट की बिलिंग पर असर पड़ेगा?
नहीं.
Swift Package Manager पर माइग्रेट करने के बाद, अपने प्रोजेक्ट को कंपाइल करते समय मुझे "FirebaseLibrary not found" गड़बड़ी मिल रही है. मैं इसका समाधान कैसे करूं?
पक्का करें कि आपने अपने Xcode प्रोजेक्ट में Firebase पैकेज जोड़ा हो.
Firebase पैकेज जोड़ते समय, Xcode आपको अपने ऐप्लिकेशन के बिल्ड टारगेट में Firebase फ़्रेमवर्क जोड़ने के लिए कहेगा. अगर इस चरण के दौरान, कोई फ़्रेमवर्क जोड़ना भूल जाते हैं, तो बिल्ड फ़ेज़ > लाइब्रेरी के साथ बाइनरी लिंक करें में जाकर, टारगेट की सेटिंग में उसे बाद में कभी भी जोड़ा जा सकता है. अगर आपके प्रोजेक्ट में एक से ज़्यादा टारगेट हैं, तो पक्का करें कि आपने Firebase को सही टारगेट में जोड़ा हो.
क्या इस ट्रांज़िशन से मेरी सीआई/सीडी पाइपलाइन में रुकावट आएगी?
नहीं, pod install या pod update चलाने वाली पाइपलाइन, मौजूदा वर्शन के लिए काम करती रहेंगी. हालांकि, वे अक्टूबर 2026 के बाद रिलीज़ किए गए Firebase लाइब्रेरी के नए अपडेट नहीं खींचेंगी.