मुख्य मॉड्यूल में Swift एक्सटेंशन एपीआई इस्तेमाल करने के लिए माइग्रेट करें

हम Swift एक्सटेंशन वाले SDK टूल को मुख्य SDK टूल में मर्ज कर रहे हैं. ऐसा इसलिए किया जा रहा है, ताकि Swift-नेटिव एपीआई ज़्यादा लोगों के लिए उपलब्ध हो सकें. साथ ही, आने वाले समय में Swift भाषा के नए फ़ीचर के लिए, हमारी सहायता देने की क्षमता बढ़ सके. हम जो बदलाव कर रहे हैं और आपके प्रोजेक्ट पर उनका क्या असर पड़ेगा, इस बारे में यहां बताया गया है.

क्या बदलाव हो रहा है?

Firebase for Apple SDK 10.17.0 से, Swift एक्सटेंशन वाले SDK टूल को उनके मुख्य SDK टूल में मर्ज कर दिया गया है. उदाहरण के लिए, FirebaseFirestoreSwift मॉड्यूल के सभी एपीआई को FirebaseFirestore में जोड़ दिया गया है. इसलिए, अब आपको उन एपीआई को ऐक्सेस करने के लिए, FirebaseFirestoreSwift मॉड्यूल इंपोर्ट करने की ज़रूरत नहीं है.

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

★ ध्यान दें: Swift एक्सटेंशन के मौजूदा या पहले रिलीज़ किए गए सभी वर्शन अब भी काम करेंगे. हालांकि, हमारा सुझाव है कि आप अपने ऐप्लिकेशन को मुख्य मॉड्यूल से Swift एपीआई का इस्तेमाल करने के लिए माइग्रेट करें. इससे आपको गड़बड़ियां ठीक करने वाले अपडेट मिलते रहेंगे. साथ ही, आपको बदलावों और नए फ़ीचर का फ़ायदा भी मिलता रहेगा.

इस बदलाव के लिए अहम तारीखें

अक्टूबर 2023 में

Swift एक्सटेंशन वाले SDK टूल को मुख्य SDK टूल में मर्ज कर दिया गया है. इसके बाद, मुख्य SDK टूल के पक्ष में, Swift एक्सटेंशन वाले SDK टूल को बंद कर दिया गया है. इस बदलाव के बारे में जानने के लिए, वर्शन 10.17.0 के रिलीज़ नोट देखें.

अब Swift एक्सटेंशन वाले SDK टूल के एपीआई को, मुख्य SDK टूल के मॉड्यूल से सीधे इस्तेमाल किया जा सकता है. एक्सटेंशन वाले SDK टूल का इस्तेमाल, अगले मेजर वर्शन के रिलीज़ होने तक किया जा सकेगा. हालांकि, इनका इस्तेमाल करने पर, समर्थन नहीं होने की चेतावनी दिखेगी.

फ़रवरी 2024 से

हम Swift एक्सटेंशन के नए वर्शन रिलीज़ करना बंद कर देंगे. साथ ही, हम Firebase के Package.swift से Swift एक्सटेंशन हटा देंगे. पुराने वर्शन काम करते रहेंगे, लेकिन उन्हें अपडेट नहीं मिलेंगे.

मुख्य मॉड्यूल से Swift-नेटिव एपीआई का इस्तेमाल करने के लिए माइग्रेट करने का तरीका

अगर फ़िलहाल, Swift एक्सटेंशन वाले SDK टूल का इस्तेमाल नहीं किया जा रहा है, तो कोई कार्रवाई करने की ज़रूरत नहीं है. अगर Swift एक्सटेंशन वाले SDK टूल का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट में ये बदलाव करें.

फ़ाइल फ़ोल्डर में बदलाव

Swift Package Manager

Firebase को वर्शन 10.17.0 या इसके बाद के वर्शन पर अपडेट करने के बाद, अपने टारगेट की सेटिंग के 'सामान्य' टैब में, 'फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट' सेक्शन पर जाएं. इसके बाद, Swift एक्सटेंशन वाला SDK टूल (जैसे, FirebaseFirestoreSwift) हटाएं.

CocoaPods

Firebase को वर्शन 10.17.0 या इसके बाद के वर्शन पर अपडेट करने के बाद, अपने Podfile पर जाएं. इसके बाद, अपने टारगेट के लिए फ़्रेमवर्क सेक्शन जोड़ने के लिए, अपने प्रोजेक्ट की डिपेंडेंसी से जुड़ी लाइन हटाएं. साथ ही, Swift एक्सटेंशन वाला SDK टूल (जैसे, pod FirebaseFirestoreSwift) हटाएं. इसके बाद, pod install कमांड को फिर से चलाएं.

ज़िप डिस्ट्रिब्यूशन और Carthage

Firebase को वर्शन 10.17.0 या इसके बाद के वर्शन पर अपडेट करने के बाद, अपने प्रोजेक्ट में मौजूद Swift एक्सटेंशन वाले सभी xcframeworks (जैसे, FirebaseFirestoreSwift.xcframework) हटाएं.

सोर्स कोड में बदलाव

Swift एक्सटेंशन वाले जिन SDK टूल का इस्तेमाल पहले किया जाता था उनके लिए, ये कार्रवाइयां करें:

  1. Swift एक्सटेंशन वाले SDK टूल के रेफ़रंस वाले सभी इंपोर्ट स्टेटमेंट मिटाएं. अगर मुख्य SDK टूल को अलग से इंपोर्ट नहीं किया गया था, तो आपको Swift एक्सटेंशन वाले इंपोर्ट की जगह, मुख्य SDK टूल का इंपोर्ट करना होगा. इसके लिए, लाइन के आखिर में मौजूद Swift को मिटाएं.
  2. अगर Swift एक्सटेंशन वाले SDK टूल के किसी टाइप को रेफ़र करने के लिए, Swift के एक्सप्लिसिट-मॉड्यूल नेमस्पेसिंग का इस्तेमाल किया गया था, तो आपको उन्हें मुख्य SDK टूल से बदलना होगा. उदाहरण के लिए, FirebaseFirestoreSwift.QueryPredicate का नाम बदलकर FirebaseFirestore.QueryPredicate करना होगा.