इस पेज पर, Apple प्लैटफ़ॉर्म से जुड़ी उन समस्याओं को हल करने के बारे में सलाह दी गई है जो Firebase का इस्तेमाल करते समय आपके सामने आ सकती हैं.
क्या आपको कोई अन्य समस्या आ रही है या आपको यहां बताई गई समस्या नहीं दिख रही है? Firebase के सभी प्रॉडक्ट या किसी खास प्रॉडक्ट के बारे में अक्सर पूछे जाने वाले सवालों के लिए, Firebase के बारे में अक्सर पूछे जाने वाले सवाल देखें.
समस्याओं की अप-टू-डेट सूची और समस्या हल करने के तरीके जानने के लिए, Firebase Apple प्लैटफ़ॉर्म SDK GitHub repo पर जाएं. हमारा सुझाव है कि आप Firebase Apple प्लैटफ़ॉर्म SDK टूल से जुड़ी समस्याओं की शिकायत भी वहीं करें!
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 या इसके बाद के वर्शन पर अपग्रेड करें. साथ ही, अपने टारगेट में [Keychain Sharing capability](/docs/ios/troubleshooting-faq#macos-keychain-sharing) जोड़ें.
macOS पर Firebase को Keychain Sharing की सुविधा क्यों चाहिए?
Firebase SDK टूल, कीचेन का इस्तेमाल करते हैं. इससे, Firebase इंस्टॉलेशन आईडी जैसी जानकारी सेव की जाती है. इस आईडी का इस्तेमाल FCM के लिए किया जाता है. Keychain का ऐक्सेस न होने पर, हो सकता है कि Firebase SDK ठीक से काम न करें. macOS keychain, iOS-स्टाइल वाले keychain से अलग तरीके से काम करता है. iOS-स्टाइल वाले keychain का इस्तेमाल अन्य प्लैटफ़ॉर्म (iOS, tvOS, macCatalyst, और watchOS) पर किया जाता है.
macOS पर, ऐप्लिकेशन एक शेयर की गई कीचेन का इस्तेमाल करते हैं. इसमें अन्य ऐप्लिकेशन और प्रोसेस बदलाव कर सकती हैं. iOS के उलट, Android में कोई सैंडबॉक्स किया गया कीचेन नहीं होता है. इसलिए, ऐप्लिकेशन के पास इसका ऐक्सेस नहीं होता है. इसलिए, जब कोई Mac ऐप्लिकेशन, कीचेन से इंटरैक्ट करता है, तो सिस्टम उपयोगकर्ता को ऐक्सेस करने के लिए कहता है. ऐसा इसलिए, क्योंकि Mac ऐप्लिकेशन, कीचेन के ऐसे आइटम में बदलाव कर सकता है जिसे उसने नहीं बनाया है. इस अंतर को ठीक करने के लिए, Firebase kSecUseDataProtectionKeychain कुंजी की मदद से कीचेन से क्वेरी करता है. इससे ऐप्लिकेशन को कीचेन के उस आइटम से क्वेरी करने के लिए कहा जाता है जो कीचेन ऐक्सेस ग्रुप का हिस्सा है. यह अन्य प्लैटफ़ॉर्म पर डिफ़ॉल्ट व्यवहार होता है. Keychain Sharing की सुविधा ज़रूरी है, क्योंकि ऐप्लिकेशन को एक ऐसा ऐक्सेस ग्रुप बनाना होता है जिसे उसके टारगेट के बीच शेयर किया जा सके. इससे ऐप्लिकेशन को ऐक्सेस ग्रुप में मौजूद कीचेन आइटम को बिना किसी पाबंदी के ऐक्सेस करने की अनुमति मिलती है.
ज़्यादा जानकारी के लिए, 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 लाइसेंस के तहत डिस्ट्रिब्यूट किया जाता है.