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

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

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

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

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

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

इस बदलाव से जुड़ी अहम तारीखें

अक्टूबर 2023 में

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

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

फ़रवरी 2024 की शुरुआत में

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

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

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

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

Swift Package Manager

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

CocoaPods

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

Zip डिस्ट्रिब्यूशन और 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 करना होगा.