CocoaPods से माइग्रेट करना

CocoaPods ने एलान किया है कि दिसंबर 2026 में, यह सिर्फ़ पढ़ने के लिए उपलब्ध होगा. इसके बाद, पॉड के नए वर्शन पब्लिश नहीं किए जा सकेंगे. इन बदलावों के बारे में ज़्यादा जानने के लिए, यहां दी गई जानकारी पढ़ें. साथ ही, अपने ऐप्लिकेशन को दूसरे इंस्टॉलेशन मैनेजर पर माइग्रेट करने का तरीका जानें.

खास जानकारी

  • क्या बदल रहा है? CocoaPods सिर्फ़ पढ़ने के लिए उपलब्ध होगा. साथ ही, Firebase, अक्टूबर 2026 के बाद CocoaPods पर नए वर्शन पब्लिश नहीं करेगा.
  • क्या मेरा ऐप्लिकेशन काम करना बंद कर देगा? नहीं. CocoaPods रजिस्ट्री पर, Firebase लाइब्रेरी के मौजूदा वर्शन हमेशा उपलब्ध रहेंगे. साथ ही, आपके वे ऐप्लिकेशन काम करते रहेंगे जो 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 पर माइग्रेट करने का तरीका यहां दिया गया है:

  1. पक्का करें कि आपके ऐप्लिकेशन की हर डिपेंडेंसी, Swift Package Manager के साथ काम करती हो. Firebase की सभी लाइब्रेरी, एसपीएम के साथ काम करती हैं. हालांकि, आपको GitHub रिपॉज़िटरी या प्रॉडक्ट पेजों में, Firebase के अलावा अन्य डिपेंडेंसी के लिए एसपीएम की सुविधा की जांच करनी होगी. अगर Firebase के अलावा अन्य डिपेंडेंसी में से कुछ, एसपीएम के साथ काम नहीं करती हैं, तो मैन्युअल इंस्टॉलेशन का इस्तेमाल करना, एसपीएम से CocoaPods से माइग्रेट करने का सबसे सही तरीका है.
  2. Xcode बंद करके, अपने प्रोजेक्ट से CocoaPods हटाएं:
    1. अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
      pod deintegrate
    2. CocoaPods से जनरेट किया गया .xcworkspace मिटाएं.
  3. Xcode में, अपने प्रोजेक्ट को Swift Package Manager की डिपेंडेंसी के साथ अपडेट करें:
    1. Xcode की मदद से, अपने प्रोजेक्ट की .xcodeproj फ़ाइल खोलें.
    2. फ़ाइल > पैकेज की डिपेंडेंसी जोड़ें का इस्तेमाल करके, अपने ऐप्लिकेशन की डिपेंडेंसी फिर से जोड़ें.
  4. Firebase पैकेज जोड़ने के बाद, Xcode में प्रोजेक्ट की सेटिंग पर जाकर, अपने ऐप्लिकेशन का टारगेट चुनकर, और फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट में जाकर, Firebase की उन लाइब्रेरी को अपडेट किया जा सकता है जिन पर आपका ऐप्लिकेशन निर्भर है.

Xcode में एसपीएम का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Apple का दस्तावेज़ पढ़ें.

मैन्युअल रूप से इंस्टॉल करना

मैन्युअल रूप से इंस्टॉल करने का मतलब क्या है?

मैन्युअल रूप से इंस्टॉल करने के लिए, Firebase.zip संग्रह डाउनलोड करना होता है. इसमें Firebase के सभी प्रॉडक्ट के लिए, पहले से कंपाइल किए गए XCFramework शामिल होते हैं. इससे, डिपेंडेंसी मैनेजर का इस्तेमाल किए बिना, सीधे अपने Xcode प्रोजेक्ट में खास एसडीके को खींचकर और छोड़कर जोड़ा जा सकता है.

मैन्युअल रूप से इंस्टॉल करने के लिए माइग्रेट करना

  1. Xcode बंद करके, अपने प्रोजेक्ट से CocoaPods हटाएं:
    1. अपने प्रोजेक्ट की डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
      pod deintegrate
    2. CocoaPods से जनरेट किया गया .xcworkspace मिटाएं.
  2. अपने प्रोजेक्ट में Firebase को मैन्युअल तरीके से जोड़ने के लिए, हमारी इंस्टॉलेशन गाइड में दिए गए तरीके अपनाएं.

अपने Unity, C++, और Flutter ऐप्लिकेशन माइग्रेट करना

Firebase Unity SDK और FlutterFire

ज़्यादातर Unity और Flutter डेवलपर को कोई कार्रवाई करने की ज़रूरत नहीं है. Unity या Flutter पर Firebase के नए वर्शन पर अपडेट करने से, Apple प्लैटफ़ॉर्म पर आपका मौजूदा डिपेंडेंसी मैनेजर, Swift Package Manager पर अपने-आप माइग्रेट हो जाएगा.

ध्यान दें कि अगर CocoaPods की मदद से, Firebase के अलावा अन्य डिपेंडेंसी मैनेज की जा रही हैं, तो आपको उन्हें मैन्युअल तरीके से माइग्रेट करना पड़ सकता है.

Firebase C++ SDK

अगर iOS की मौजूदा डिपेंडेंसी को CocoaPods की मदद से शामिल किया गया था, तो Firebase की CocoaPods डिपेंडेंसी को अपडेट करके, Swift Package Manager का इस्तेमाल करने के लिए, ऊपर दिए गए माइग्रेशन के निर्देशों का पालन किया जा सकता है.

अक्सर पूछे जाने वाले सवाल

मुझे अक्टूबर 2026 के बाद भी CocoaPods का इस्तेमाल करना है. मैं अपने ऐप्लिकेशन को कैसे चालू रखूं?

Firebase पॉड के पुराने वर्शन का इस्तेमाल किया जा सकता है या GitHub से Firebase podspecs कॉपी करके, उन्हें अपनी specs रिपॉज़िटरी में होस्ट किया जा सकता है.

दोनों ही मामलों में, हमारा सुझाव है कि CocoaPods से जल्द से जल्द माइग्रेट करें. अक्टूबर 2026 में CocoaPods के लिए सहायता बंद होने के बाद, हम Firebase को सीधे podspec से इंस्टॉल करने के लिए आधिकारिक सहायता उपलब्ध नहीं कराएंगे. अगर आपने अपने 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 लाइब्रेरी के नए अपडेट नहीं खींचेंगी.