CocoaPods ने सूचना दी है कि दिसंबर 2026 से, वे सिर्फ़ पढ़ने के लिए उपलब्ध होंगे. इसके बाद, पॉड के नए वर्शन पब्लिश नहीं किए जा सकेंगे. यहां दिए गए सेक्शन में, इस बदलाव के बारे में ज़्यादा जानकारी दी गई है. साथ ही, यह भी बताया गया है कि अपने ऐप्लिकेशन को दूसरे इंस्टॉलेशन मैनेजर पर कैसे माइग्रेट करें.
खास जानकारी
- क्या बदल रहा है? CocoaPods को रीड-ओनली मोड में ले जाया जा रहा है. Firebase 12, CocoaPods पर पब्लिश किया गया आखिरी मेजर वर्शन है. Firebase, अक्टूबर 2026 से CocoaPods पर नए वर्शन पब्लिश करना बंद कर देगा.
- क्या मेरा ऐप्लिकेशन काम करना बंद कर देगा? नहीं. Firebase लाइब्रेरी के मौजूदा वर्शन, CocoaPods रजिस्ट्री पर उपलब्ध रहेंगे. साथ ही, 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 Apple SDK को रैप करने वाले सभी Firebase डिस्ट्रिब्यूशन पर भी पड़ेगा. इनमें Firebase Unity SDK, Firebase C++ SDK, और FlutterFire शामिल हैं.
Apple के ऐप्लिकेशन माइग्रेट करना
अगर आपको CocoaPods से अन्य (गैर-Firebase) डिपेंडेंसी माइग्रेट करनी हैं, तो ध्यान दें कि पूरे प्रोजेक्ट के लिए, इंस्टॉलेशन के एक ही तरीके का इस्तेमाल करना इंडस्ट्री का सबसे सही तरीका है. एक ही टारगेट में CocoaPods और Swift Package Manager (SPM) का इस्तेमाल करने से, डिपेंडेंसी के जटिल साइकल और बिल्ड से जुड़ी गड़बड़ियां हो सकती हैं. अगर Firebase से जुड़ी नहीं हैं और अब तक SPM के साथ काम नहीं करती हैं, तो Firebase लाइब्रेरी के लिए मैन्युअल इंस्टॉलेशन का इस्तेमाल करना, आपके वर्कफ़्लो को एक साथ लाने का सबसे भरोसेमंद तरीका है.
Swift Package Manager (SPM)
Swift Package Manager क्या है?
Swift Package Manager (SPM), Apple का एक नेटिव टूल है. इसका इस्तेमाल कोड डिस्ट्रिब्यूशन को मैनेज करने के लिए किया जाता है. इसे सीधे तौर पर Xcode में इंटिग्रेट किया जाता है. इससे CocoaPods जैसे बाहरी सीएलआई टूल की ज़रूरत नहीं पड़ती. साथ ही, ज़्यादातर स्टैंडर्ड कॉन्फ़िगरेशन के लिए .xcworkspace की ज़रूरत नहीं होती. इससे आपके प्रोजेक्ट का स्ट्रक्चर आसान हो जाता है.
Swift Package Manager का इस्तेमाल करने पर माइग्रेट करना
ज़्यादातर प्रोजेक्ट के लिए, Swift Package Manager पर माइग्रेट करने के लिए, ऐप्लिकेशन कोड में बदलाव करने की ज़रूरत नहीं होती. हालांकि, अगर आपके प्रोजेक्ट में कस्टम Xcode कॉन्फ़िगरेशन या ऐसी डिपेंडेंसी हैं जो CocoaPods इंस्टॉल स्क्रिप्ट का ज़्यादा इस्तेमाल करती हैं, तो आपको ऐप्लिकेशन कोड में बदलाव करना होगा.
CocoaPods से Swift Package Manager पर माइग्रेट करने का तरीका यहां बताया गया है:
- पुष्टि करें कि आपके ऐप्लिकेशन की हर डिपेंडेंसी, Swift Package Manager के साथ काम करती हो. सभी Firebase लाइब्रेरी, एसपीएम के साथ काम करती हैं. हालांकि, आपको GitHub रिपॉज़िटरी या प्रॉडक्ट पेजों में, Firebase से जुड़ी नहीं हुई डिपेंडेंसी के लिए एसपीएम की सुविधा की जांच करनी होगी. अगर आपकी कुछ नॉन-फ़ायरबेस डिपेंडेंसी, एसपीएम के साथ काम नहीं करती हैं, तो एसपीएम के बजाय मैन्युअल इंस्टॉलेशन का इस्तेमाल करना, CocoaPods से माइग्रेट करने का सबसे सही तरीका है.
- Xcode बंद होने पर, अपने प्रोजेक्ट से CocoaPods हटाएं:
- अपनी CocoaPods डिपेंडेंसी अनइंस्टॉल करने के लिए, अपने प्रोजेक्ट डायरेक्ट्री में यह कमांड चलाएं:
pod deintegrate
- CocoaPods से जनरेट किया गया
.xcworkspaceमिटाएं.
- अपनी CocoaPods डिपेंडेंसी अनइंस्टॉल करने के लिए, अपने प्रोजेक्ट डायरेक्ट्री में यह कमांड चलाएं:
- Xcode में, Swift Package Manager की डिपेंडेंसी का इस्तेमाल करके अपने प्रोजेक्ट को अपडेट करें:
- Xcode की मदद से, अपने प्रोजेक्ट की
.xcodeprojफ़ाइल खोलें. - File > Add Package Dependencies का इस्तेमाल करके, अपने ऐप्लिकेशन की डिपेंडेंसी फिर से जोड़ें.
- Xcode की मदद से, अपने प्रोजेक्ट की
- Firebase पैकेज जोड़ने के बाद, उन Firebase लाइब्रेरी को अपडेट किया जा सकता है जिन पर आपका ऐप्लिकेशन निर्भर करता है. इसके लिए, Xcode में प्रोजेक्ट सेटिंग पर जाएं. इसके बाद, अपना ऐप्लिकेशन टारगेट चुनें और फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट में जाकर लाइब्रेरी अपडेट करें.
Apple के दस्तावेज़ में, Xcode में SPM का इस्तेमाल करने के बारे में ज़्यादा जानें.
मैन्युअल रूप से इंस्टॉल करना
मैन्युअल तरीके से इंस्टॉल करने का क्या मतलब है?
मैन्युअल तरीके से इंस्टॉल करने के लिए, 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 CocoaPod की डिपेंडेंसी को अपडेट किया जा सकता है. इसके बाद, Swift Package Manager का इस्तेमाल किया जा सकता है.
अक्सर पूछे जाने वाले सवाल
मुझे अक्टूबर 2026 के बाद भी CocoaPods का इस्तेमाल जारी रखना है. मैं अपने ऐप्लिकेशन को चालू कैसे रखूं?
Firebase पॉड के पुराने वर्शन का इस्तेमाल किया जा सकता है. इसके अलावा, GitHub से Firebase podspecs कॉपी करके, उन्हें अपनी specs रिपॉज़िटरी में होस्ट किया जा सकता है.
इन दोनों ही मामलों में, हमारा सुझाव है कि आप जल्द से जल्द CocoaPods से माइग्रेट कर लें. CocoaPods के लिए सहायता बंद होने के बाद, हम सीधे podspec से Firebase इंस्टॉल करने के लिए आधिकारिक सहायता नहीं देंगे. यह सहायता अक्टूबर 2026 से बंद हो जाएगी. अगर आपको अपने पॉडस्पेक होस्ट करने हैं, तो उन्हें अप-टू-डेट रखने की ज़िम्मेदारी आपकी होगी.
CocoaPods को दिसंबर 2026 तक पब्लिश किया जा सकता है. फिर, अक्टूबर 2026 में CocoaPods के लिए सहायता बंद क्यों की जा रही है?
हमने अक्टूबर का महीना इसलिए चुना है, ताकि यह पक्का किया जा सके कि CocoaPods पर पब्लिश किए गए फ़ाइनल वर्शन, दिसंबर में रजिस्ट्री लॉक होने से पहले स्टेबल हों. इस टाइमलाइन से, इन फ़ाइनल अपडेट को सुरक्षित तरीके से कोऑर्डिनेट करने के लिए ज़रूरी समय मिल जाता है. साथ ही, यह पक्का किया जाता है कि क्रॉस-प्लैटफ़ॉर्म एसडीके टूल, जो नेटिव एसडीके टूल पर निर्भर होते हैं, लेकिन रिलीज़ होने में देरी करते हैं, उनके पास अपनी रिलीज़ तैयार करने के लिए काफ़ी समय हो.
क्या अपडेट न करने पर, मेरा ऐप्लिकेशन काम करना बंद कर देगा?
नहीं, इस सुविधा के बंद होने का असर सिर्फ़ Firebase लाइब्रेरी की आने वाली रिलीज़ पर पड़ेगा. Firebase 12, CocoaPods पर पब्लिश किया गया आखिरी मुख्य वर्शन है. CocoaPods में मौजूद मौजूदा वर्शन (v12 और इससे पहले के वर्शन) इंस्टॉल किए जा सकेंगे और काम करते रहेंगे. हालांकि, ऐसा तब तक होगा, जब तक CocoaPods के प्लैटफ़ॉर्म पर Firebase काम करता रहेगा.
क्या इससे प्रोजेक्ट की बिलिंग पर असर पड़ता है?
नहीं.
Swift Package Manager पर माइग्रेट करने के बाद, प्रोजेक्ट को कंपाइल करते समय मुझे "FirebaseLibrary not found" गड़बड़ी का मैसेज मिल रहा है. मैं इसका समाधान कैसे कर सकता हूँ?
पक्का करें कि आपने Firebase पैकेज को अपने Xcode प्रोजेक्ट में जोड़ा हो.
Firebase पैकेज जोड़ते समय, Xcode आपको अपने ऐप्लिकेशन के बिल्ड टारगेट में Firebase फ़्रेमवर्क जोड़ने के लिए कहेगा. अगर इस चरण के दौरान फ़्रेमवर्क जोड़ना भूल गए हैं, तो इसे बाद में अपने टारगेट की सेटिंग में जाकर जोड़ा जा सकता है. इसके लिए, Build Phases > Link Binary with Libraries पर जाएं. अगर आपके प्रोजेक्ट में एक से ज़्यादा टारगेट हैं, तो पक्का करें कि आपने Firebase को सही टारगेट में जोड़ा हो.
क्या इस बदलाव से मेरी CI/CD पाइपलाइन काम करना बंद कर देंगी?
नहीं, pod install या pod update पर चल रही पाइपलाइनें, मौजूदा वर्शन के लिए काम करती रहेंगी. हालांकि, वे अक्टूबर 2026 के बाद रिलीज़ हुए Firebase लाइब्रेरी के किसी भी नए अपडेट को पुल नहीं करेंगे.