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