تقدّم هذه الصفحة نصائح ومعلومات لتحديد المشاكل وحلّها على منصة 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. بدون إذن الوصول إلى 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.