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