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