CocoaPods ने एलान किया है कि दिसंबर 2026 से, CocoaPods पर मौजूद कॉन्टेंट को सिर्फ़ पढ़ा जा सकेगा. इसके बाद, पॉड के नए वर्शन पब्लिश नहीं किए जा सकेंगे. यहां दिए गए सेक्शन में, इस बदलाव के बारे में ज़्यादा जानकारी दी गई है. साथ ही, यह बताया गया है कि अपने ऐप्लिकेशन को अन्य इंस्टॉलेशन मैनेजर पर कैसे माइग्रेट करें.
खास जानकारी
- क्या बदल रहा है? 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 के अलावा अन्य डिपेंडेंसी अब भी एसपीएम के साथ काम नहीं करती हैं, तो 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 लाइब्रेरी, एसपीएम के साथ काम करती हैं. हालांकि, आपको 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 में एसपीएम का इस्तेमाल करने के बारे में ज़्यादा जानें.
मैन्युअल रूप से इंस्टॉल करना
मैन्युअल तरीके से इंस्टॉल करने का क्या मतलब है?
मैन्युअल तरीके से इंस्टॉल करने के लिए, Firebase.zip संग्रह डाउनलोड करना होगा. इसमें Firebase के सभी प्रॉडक्ट के लिए, पहले से कंपाइल किए गए XCFrameworks शामिल होते हैं. इससे आपको डिपेंडेंसी मैनेजर का इस्तेमाल किए बिना, सीधे अपने 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 को कॉपी करके, उन्हें अपनी स्पेक्स रिपॉज़िटरी में होस्ट किया जा सकता है.
दोनों ही मामलों में, हमारा सुझाव है कि आप CocoaPods से जल्द से जल्द माइग्रेट करें. अक्टूबर 2026 में CocoaPods की सुविधा बंद होने के बाद, हम podspec से सीधे Firebase इंस्टॉल करने के लिए आधिकारिक सहायता नहीं देंगे. अगर आपको अपने podspecs को खुद होस्ट करना है, तो उन्हें अप-टू-डेट रखने की ज़िम्मेदारी आपकी होगी.
CocoaPods के लिए सहायता अक्टूबर 2026 में बंद क्यों की जा रही है, जबकि CocoaPods को दिसंबर 2026 तक पब्लिश किया जा सकता है?
हमने अक्टूबर का महीना इसलिए चुना है, ताकि दिसंबर में रजिस्ट्री लॉक होने से पहले, CocoaPods पर पब्लिश किए गए फ़ाइनल वर्शन स्टेबल हों. इस टाइमलाइन से, इन आखिरी अपडेट को सुरक्षित तरीके से मैनेज करने के लिए ज़रूरी समय मिलता है. साथ ही, इससे यह पक्का होता है कि क्रॉस-प्लैटफ़ॉर्म SDK टूल के पास अपनी रिलीज़ तैयार करने के लिए काफ़ी समय हो. ये SDK टूल, नेटिव SDK टूल पर निर्भर करते हैं, लेकिन इनकी रिलीज़ साइकल में देरी होती है.
अगर मैं ऐप्लिकेशन को अपडेट न करूं, तो क्या वह काम करना बंद कर देगा?
नहीं, इस बदलाव का असर सिर्फ़ Firebase लाइब्रेरी की आने वाली रिलीज़ पर पड़ेगा. Firebase 12, CocoaPods पर पब्लिश किया गया आखिरी मेजर वर्शन है. CocoaPods में मौजूद मौजूदा वर्शन (v12 और इससे पहले के वर्शन) तब तक इंस्टॉल किए जा सकेंगे और काम करते रहेंगे, जब तक CocoaPods नेटवर्क काम करता रहेगा.
क्या इससे प्रोजेक्ट की बिलिंग पर असर पड़ता है?
नहीं.
Swift Package Manager पर माइग्रेट करने के बाद, अपने प्रोजेक्ट को कंपाइल करते समय मुझे "FirebaseLibrary नहीं मिली" गड़बड़ी का मैसेज मिल रहा है. मैं इसका समाधान कैसे कर सकता हूँ?
पक्का करें कि आपने अपने Xcode प्रोजेक्ट में Firebase पैकेज जोड़ा हो.
Firebase पैकेज जोड़ते समय, Xcode आपको अपने ऐप्लिकेशन के बिल्ड टारगेट में Firebase फ़्रेमवर्क जोड़ने के लिए कहेगा. अगर इस चरण के दौरान फ़्रेमवर्क जोड़ना भूल जाते हैं, तो उसे बाद में भी जोड़ा जा सकता है. इसके लिए, टारगेट की सेटिंग में जाकर, Build Phases > Link Binary with Libraries पर जाएं. अगर आपके प्रोजेक्ट में कई टारगेट हैं, तो पक्का करें कि आपने Firebase को सही टारगेट में जोड़ा हो.
क्या इस बदलाव से मेरी सीआई/सीडी पाइपलाइन पर असर पड़ेगा?
नहीं, pod install या pod update पर चलने वाली पाइपलाइन, मौजूदा वर्शन के लिए काम करती रहेंगी. हालांकि, अक्टूबर 2026 के बाद रिलीज़ होने वाले Firebase लाइब्रेरी के नए अपडेट, इन वर्शन पर काम नहीं करेंगे.