इस पेज पर, Firebase का इस्तेमाल करते समय Apple प्लैटफ़ॉर्म से जुड़ी समस्याओं को हल करने के लिए सलाह और तरीके दिए गए हैं.
क्या आपको कोई अन्य समस्या आ रही है या यहां बताई गई समस्याओं में से आपकी समस्या नहीं है? Firebase या किसी प्रॉडक्ट से जुड़े अक्सर पूछे जाने वाले सवालों के लिए, Firebase के बारे में अक्सर पूछे जाने वाले सवाल देखें.
Firebase Apple प्लैटफ़ॉर्म एसडीके GitHub रिपो पर जाकर भी, रिपोर्ट की गई समस्याओं और समस्या का हल की अप-टू-डेट सूची देखी जा सकती है. हमारा सुझाव है कि आप Firebase Apple प्लैटफ़ॉर्म एसडीके से जुड़ी अपनी समस्याएं भी वहां दर्ज करें!
Firebase, Xcode के किन वर्शन के साथ काम करता है?
Firebase, Xcode के ज़्यादा से ज़्यादा दो मेजर वर्शन के साथ काम करता है. इनमें Xcode के वे वर्शन शामिल नहीं हैं जो अब Apple के साथ काम नहीं करते. उदाहरण के लिए, मार्च 2019 से Apple ने सभी ऐप्लिकेशन के लिए, कम से कम iOS 12 का इस्तेमाल करना ज़रूरी कर दिया. इसका मतलब है कि Xcode 9 का इस्तेमाल बंद कर दिया गया और Xcode 10 ही एकमात्र ऐसा मेजर वर्शन था जिसका इस्तेमाल किया जा सकता था.
Xcode के कुछ छोटे या पैच वर्शन (उदाहरण के लिए, 9.2.0 से 9.4.1) के लिए सहायता में बदलाव, Firebase Apple प्लैटफ़ॉर्म SDK की ज़रूरतों और डेवलपर के इस्तेमाल के सर्वे के आधार पर तय किए जाते हैं. ये बदलाव, Firebase Apple प्लैटफ़ॉर्म SDK के रिलीज़ नोट और Firebase Apple प्लैटफ़ॉर्म SDK के सेटअप पेज पर दिखते हैं.
एसडीके के साथ काम करने वाले Xcode के सबसे पुराने वर्शन की जानकारी पाने के लिए, अपने Apple प्रोजेक्ट में Firebase जोड़ना लेख में बताई गई ज़रूरी शर्तें देखें.
Xcode के बीटा वर्शन के लिए Firebase की सहायता, "बेहतर कोशिश" के आधार पर उपलब्ध है. डेवलपर, GitHub पर Firebase Apple प्लैटफ़ॉर्म के SDK टूल की रिपॉज़िटरी में समस्याओं को ट्रैक और सबमिट कर सकते हैं.
मेरा ऐप्लिकेशन, macOS पर Keychain में मौजूद आइटम ऐक्सेस करने के लिए, उपयोगकर्ता से पासवर्ड मांगता है. मैं इसका समाधान कैसे कर सकता हूँ?
Firebase डिपेंडेंसी को 9.6.0 या इसके बाद वाले वर्शन पर अपग्रेड करें. इसके बाद, अपने टारगेट में
[कीचेन शेयर करने की सुविधा](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
जोड़ें.
Firebase को macOS पर Keychain Sharing की सुविधा की ज़रूरत क्यों होती है?
Firebase SDK टूल, कीचेन का इस्तेमाल करके जानकारी सेव करते हैं. जैसे, FCM के लिए इस्तेमाल किया जाने वाला Firebase इंस्टॉलेशन आईडी. Keychain का ऐक्सेस न होने पर, हो सकता है कि Firebase SDK टूल ठीक से काम न करें. macOS कीचेन, iOS-स्टाइल वाले कीचेन से अलग तरीके से काम करता है. iOS-स्टाइल वाले कीचेन का इस्तेमाल, अन्य प्लैटफ़ॉर्म (iOS, tvOS, macCatalyst, और watchOS) पर किया जाता है.
macOS पर, ऐप्लिकेशन शेयर की गई कीचेन का इस्तेमाल करते हैं. इसमें अन्य ऐप्लिकेशन और प्रोसेस बदलाव कर सकती हैं. iOS के उलट, इसमें कोई सैंडबॉक्स कीचेन नहीं होती है जिसे ऐप्लिकेशन
अपने-आप ऐक्सेस कर सके. इसलिए, जब कोई Mac ऐप्लिकेशन कीचेन के साथ इंटरैक्ट करता है, तो सिस्टम उपयोगकर्ता से ऐक्सेस मांगता है. ऐसा इसलिए होता है, क्योंकि Mac ऐप्लिकेशन किसी ऐसे कीचेन आइटम में बदलाव कर सकता है जिसे उसने नहीं बनाया है. इस अंतर को दूर करने के लिए, Firebase kSecUseDataProtectionKeychain कुंजी के साथ कीचेन से क्वेरी करता है. इससे ऐप्लिकेशन को कीचेन ऐक्सेस ग्रुप के हिस्से वाले कीचेन आइटम से क्वेरी करने के लिए कहा जाता है. यह अन्य प्लैटफ़ॉर्म पर डिफ़ॉल्ट व्यवहार होता है. कीचेन शेयर करने की सुविधा ज़रूरी है, क्योंकि ऐप्लिकेशन को ऐक्सेस ग्रुप बनाने के लिए इसकी ज़रूरत होती है. इस ग्रुप को इसके टारगेट के बीच शेयर किया जा सकता है. इससे ऐप्लिकेशन को ऐक्सेस ग्रुप में मौजूद कीचेन आइटम को आसानी से ऐक्सेस करने की अनुमति मिलती है.
ज़्यादा जानकारी के लिए, Apple का
Keychain दस्तावेज़
देखें.
Xcode के 13 और इसके बाद के वर्शन में, मेरे UIKit ऐप्लिकेशन, Info.plist में रजिस्टर किए गए कुछ यूआरएल
क्यों नहीं खोल सकते?
Apple ने Info.plist फ़ाइलों में 50 LSApplicationQueriesSchemes
एंट्री की सीमा तय की है. साल 2015 में, Apple ने LSApplicationQueriesSchemes को लॉन्च किया, ताकि हर ऐप्लिकेशन से की जाने वाली यूआरएल क्वेरी की संख्या को सीमित किया जा सके. Xcode 13 के रिलीज़ होने के बाद, ये सीमाएं लागू की गई हैं. हालांकि, Xcode 12 और इससे पहले के वर्शन में, स्कीम की संख्या पर कोई सीमा नहीं थी.
Firebase के कुछ प्रॉडक्ट, जैसे कि Firebase Authentication और Firebase Dynamic Links को आपके ऐप्लिकेशन पर रीडायरेक्ट करने के लिए, कस्टम यूआरएल स्कीम का इस्तेमाल करना ज़रूरी है. ये यूआरएल, एक सटीक और एक जैसी यूआरएल स्कीम के मुताबिक होते हैं. इन्हें 50 लिंक स्कीम की सीमा में नहीं गिना जाना चाहिए.
ध्यान दें कि 50 से ज़्यादा LSApplicationQueriesSchemes रजिस्टर करने वाले ऐप्लिकेशन के लिए, कुछ स्कीम को बिना किसी सूचना के अनदेखा कर दिया जाएगा. ऐसा हो सकता है कि ऐप्लिकेशन कुछ डीपलिंक को लागू न कर पाए. यह इस बात पर निर्भर करता है कि उन्हें किस क्रम में जोड़ा गया है.
मुझे अपने ऐप्लिकेशन में ओपन सोर्स से जुड़ी कौनसी सूचनाएं शामिल करनी चाहिए?
Apple प्लैटफ़ॉर्म के लिए, Firebase SDK टूल को Apache 2.0 लाइसेंस के तहत उपलब्ध कराया जाता है.