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

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

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

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

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

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

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

अक्टूबर 2023 में

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

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

फ़रवरी 2024 से

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

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

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

कार्यक्षेत्र परिवर्तन

Swift Package Manager

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

CocoaPods

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

ज़िप डिस्ट्रिब्यूशन और कार्थेज

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

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

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

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