इस पेज पर, 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 टूल के सेटअप पेज पर बताया गया है.
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 टूल, कीचेन का इस्तेमाल करके जानकारी सेव करते हैं. जैसे, FCM के लिए इस्तेमाल किया गया Firebase इंस्टॉलेशन आईडी. Keychain का ऐक्सेस न होने पर, हो सकता है कि Firebase SDK टूल ठीक से काम न करें. macOS Keychain, iOS-स्टाइल वाले Keychain से अलग तरीके से काम करता है. iOS-स्टाइल वाले Keychain का इस्तेमाल अन्य प्लैटफ़ॉर्म (iOS, tvOS, macCatalyst, और watchOS) पर किया जाता है.
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 के कुछ प्रॉडक्ट, जैसे कि Firebase Authentication और Firebase Dynamic Links, आपके ऐप्लिकेशन पर रीडायरेक्ट करने के लिए कस्टम यूआरएल स्कीम का इस्तेमाल करते हैं. ये यूआरएल, यूआरएल स्कीम के छोटे और एक जैसे फ़ॉर्मैट के मुताबिक होते हैं. इसलिए, इन्हें लिंक स्कीम की 50 लिंक वाली सीमा में नहीं गिना जाना चाहिए.
ध्यान दें कि जिन ऐप्लिकेशन के लिए 50 से ज़्यादा LSApplicationQueriesSchemes
रजिस्टर किए जाते हैं उनके लिए, कुछ स्कीम को अनदेखा कर दिया जाएगा. ऐप्लिकेशन में डीप लिंक जोड़ने के क्रम के आधार पर, हो सकता है कि वह कुछ डीप लिंक को लागू न कर पाए.