تقدّم هذه الصفحة نصائح ومعلومات لتحديد المشاكل وحلّها في ما يتعلّق بمنصّة Apple والتي قد تواجهها عند استخدام Firebase.
هل تواجه تحديات أخرى أو لا ترى مشكلتك موضّحة أدناه؟ يُرجى الاطّلاع على الأسئلة الشائعة الرئيسية حول Firebase للحصول على المزيد من الأسئلة الشائعة حول Firebase أو منتجاته.
يمكنك أيضًا الاطّلاع على
مستودع GitHub لحزمة تطوير البرامج (SDK) لمنصّات Apple في Firebase
للحصول على قائمة حديثة بالمشاكل التي تم الإبلاغ عنها وحلّها. وننصحك أيضًا بالإبلاغ عن المشاكل المتعلّقة بحزمة تطوير البرامج (SDK) لمنصات Apple على Firebase.
يطلب تطبيقي من المستخدم إدخال كلمة المرور للوصول إلى عناصر Keychain على نظام التشغيل macOS. كيف أصلح هذا؟
يجب ترقية إصدار Firebase إلى 9.6.0 أو إصدار أحدث وإضافة
[إمكانية مشاركة سلسلة المفاتيح](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
إلى هدفك.
لماذا تتطلّب Firebase إمكانية مشاركة Keychain على أجهزة macOS؟
تستخدِم حِزم تطوير البرامج (SDK) من Firebase سلسلة المفاتيح لتخزين معلومات مثل معرّف التثبيت على Firebase المستخدَم في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (FCM). بدون إذن الوصول إلى Keychain، قد لا تعمل حِزم تطوير البرامج (SDK) من Firebase بشكل صحيح. تختلف سلسلة مفاتيح macOS عن سلسلة مفاتيح iOS التي يتم استخدامها على المنصات الأخرى (iOS وtvOS وmacCatalyst وwatchOS).
على أجهزة macOS، تستخدم التطبيقات سلسلة مفاتيح مشترَكة يمكن أن تعدّلها تطبيقات وعمليات أخرى. وعلى عكس نظام التشغيل iOS، لا توجد سلسلة مفاتيح معزولة يمكن للتطبيق الوصول إليها بشكل ضمني. لذلك، عندما يتفاعل تطبيق Mac مع سلسلة المفاتيح، يطلب النظام من المستخدم الإذن بالوصول لأنّ تطبيق Mac قد يعدّل عنصرًا في سلسلة المفاتيح لم ينشئه. لحلّ هذا التناقض، يطلب Firebase من سلسلة المفاتيح استخدام المفتاح kSecUseDataProtectionKeychain، ما يطلب من التطبيق البحث عن عنصر سلسلة مفاتيح يندرج ضمن مجموعة الوصول إلى سلسلة المفاتيح (هذا هو السلوك التلقائي على المنصات الأخرى). ميزة "مشاركة سلسلة المفاتيح" مطلوبة لأنّ التطبيق يحتاج إليها لإنشاء مجموعة وصول يمكن مشاركتها بين أهدافه، وبالتالي منح التطبيق الإذن بالوصول بحرية إلى عناصر سلسلة المفاتيح في مجموعة الوصول.
لمزيد من المعلومات، يُرجى الاطّلاع على
مستندات Keychain
من Apple.
في إصدارات Xcode 13 والإصدارات الأحدث، لماذا لا يمكن لتطبيقات UIKit فتح بعض عناوين URL التي سجّلتها
في ملف Info.plist؟
فرضت Apple حدًا أقصى يبلغ 50 LSApplicationQueriesSchemes
إدخالاً في ملفات Info.plist. في عام 2015، قدّمت Apple ميزة
LSApplicationQueriesSchemes للحدّ من عدد طلبات البحث عن عناوين URL
التي يمكن لكل تطبيق إجراؤها. مع إصدار Xcode 13، يتم فرض هذه الحدود،
بينما لم يكن هناك حدّ فعلي لعدد المخططات في Xcode 12 والإصدارات الأقدم.
تتطلّب بعض منتجات Firebase، مثل Firebase Authentication وFirebase Dynamic Links، استخدام مخططات عناوين URL مخصّصة لإعادة التوجيه إلى تطبيقك. تتّبع عناوين URL هذه مخططًا موجزًا ومتسقًا لعناوين URL، وبالتالي لا يجب أن يتم احتسابها بشكل كبير ضمن الحد الأقصى المسموح به لمخطط الروابط الذي يبلغ 50 رابطًا.
يُرجى العِلم أنّه بالنسبة إلى التطبيقات التي تواصل تسجيل أكثر من 50
LSApplicationQueriesSchemes، سيتم تجاهل بعض المخططات بدون إشعار. قد يتعذّر على التطبيق تنفيذ بعض الروابط لصفحات في التطبيق،
وذلك حسب ترتيب إضافتها.
ما هي إشعارات المصادر المفتوحة التي يجب تضمينها في تطبيقي؟
بالنسبة إلى منصات Apple، يتم توزيع حزمة تطوير البرامج (SDK) لمنصة Firebase بموجب ترخيص Apache 2.0.