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

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

खास जानकारी

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

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

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

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

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

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

  1. Xcode बंद होने पर, अपने प्रोजेक्ट से CocoaPods हटाएं:
    • अपनी प्रोजेक्ट डायरेक्ट्री में यह कमांड चलाकर, CocoaPods की डिपेंडेंसी अनइंस्टॉल करें:
      pod deintegrate
    • 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

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

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

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

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

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

CocoaPods को दिसंबर 2026 तक पब्लिश किया जा सकता है. फिर, अक्टूबर 2026 में CocoaPods के लिए सहायता क्यों बंद की जा रही है?

हमने अक्टूबर का महीना इसलिए चुना है, ताकि यह पक्का किया जा सके कि CocoaPods पर पब्लिश किए गए फ़ाइनल वर्शन, दिसंबर में रजिस्ट्री लॉक होने से पहले स्टेबल हों. इस टाइमलाइन से, इन फ़ाइनल अपडेट को सुरक्षित तरीके से कोऑर्डिनेट करने में मदद मिलती है. साथ ही, यह पक्का किया जाता है कि क्रॉस-प्लैटफ़ॉर्म SDK टूल के पास अपनी रिलीज़ तैयार करने के लिए काफ़ी समय हो. ये SDK टूल, नेटिव SDK पर निर्भर होते हैं, लेकिन इनकी रिलीज़ में देरी होती है.

क्या अपडेट न करने पर, मेरा ऐप्लिकेशन काम करना बंद कर देगा?

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

क्या इससे प्रोजेक्ट की बिलिंग पर असर पड़ता है?

नहीं.

Swift Package Manager पर माइग्रेट करने के बाद, प्रोजेक्ट को कंपाइल करते समय मुझे "FirebaseLibrary not found" गड़बड़ी का मैसेज मिल रहा है. मैं इसका समाधान कैसे कर सकता हूँ?

पक्का करें कि आपने Firebase पैकेज को अपने Xcode प्रोजेक्ट में जोड़ा हो.

Firebase पैकेज जोड़ते समय, Xcode आपको अपने ऐप्लिकेशन के बिल्ड टारगेट में Firebase फ़्रेमवर्क जोड़ने के लिए कहेगा. अगर इस चरण के दौरान कोई फ़्रेमवर्क जोड़ना भूल गए हैं, तो इसे बाद में कभी भी जोड़ा जा सकता है. इसके लिए, टारगेट की सेटिंग में जाकर बिल्ड फ़ेज़ > लाइब्रेरी के साथ बाइनरी लिंक करें पर जाएं. अगर आपके प्रोजेक्ट में एक से ज़्यादा टारगेट हैं, तो पक्का करें कि आपने Firebase को सही टारगेट में जोड़ा हो.

क्या इस बदलाव से मेरी सीआई/सीडी पाइपलाइन काम करना बंद कर देंगी?

नहीं, pod install या pod update पर चल रही पाइपलाइनें, मौजूदा वर्शन के लिए काम करती रहेंगी. हालांकि, वे अक्टूबर 2026 के बाद रिलीज़ हुए Firebase लाइब्रेरी के नए अपडेट नहीं खींचेंगे.