تقدّم هذه الصفحة نصائح ومعلومات لتحديد المشاكل وحلّها على منصة 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 توفُّر ميزة "مشاركة سلسلة المفاتيح" على أجهزة macOS؟
تستخدم حِزم تطوير البرامج (SDK) من Firebase سلسلة المفاتيح لتخزين معلومات مثل معرّف تثبيت Firebase المستخدَم في خدمة المراسلة عبر السحابة الإلكترونية من Firebase. بدون إذن الوصول إلى 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.