تقدّم هذه الصفحة نصائح وتحديد المشاكل وحلّها للمشاكل المتعلّقة بمنصّة Apple التي قد تواجهها عند استخدام Firebase.
هل تواجه تحديات أخرى أو لا تظهر مشكلتك أدناه؟ يُرجى الاطّلاع على الأسئلة الشائعة الرئيسية حول Firebase لمزيد من الأسئلة الشائعة حول Firebase أو منتجات معيّنة.
يمكنك أيضًا الاطّلاع على
مستودع GitHub لحزمة تطوير البرامج (SDK) لمنصات Apple في Firebase
للحصول على قائمة محدّثة بالمشاكل التي تم الإبلاغ عنها وتحديد المشاكل وحلّها. ونشجّعك على الإبلاغ عن المشاكل المتعلّقة بحزمة تطوير البرامج (SDK) لمنصات Firebase Apple هناك أيضًا.
يطلب تطبيقي من المستخدم إدخال كلمة المرور للوصول إلى عناصر Keychain على نظام التشغيل macOS. كيف أصلح هذا؟
يجب ترقية تبعية Firebase إلى الإصدار 9.6.0 أو إصدار أحدث وإضافة
[إمكانية مشاركة سلسلة المفاتيح](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
إلى الهدف.
لماذا تتطلّب Firebase إمكانية مشاركة سلسلة المفاتيح على نظام التشغيل macOS؟
تستخدم حِزم تطوير البرامج (SDK) لمنصّة Firebase سلسلة مفاتيح لتخزين معلومات مثل معرّف تثبيت Firebase المستخدَم في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (FCM). بدون إذن الوصول إلى Keychain، قد لا تعمل حِزم تطوير البرامج (SDK) لخدمة Firebase
بشكل صحيح. تختلف طريقة عمل سلسلة مفاتيح macOS عن سلسلة مفاتيح iOS المستخدَمة على الأنظمة الأساسية الأخرى (iOS وtvOS وmacCatalyst وwatchOS).
على نظام التشغيل macOS، تستخدم التطبيقات سلسلة مفاتيح مشتركة يمكن تعديلها من خلال تطبيقات وعمليات أخرى. وعلى عكس نظام التشغيل iOS، لا تتوفّر سلسلة مفاتيح في وضع الحماية يمكن للتطبيق الوصول إليها ضمنيًا. لذلك، عندما يتفاعل تطبيق Mac مع سلسلة المفاتيح، يطلب النظام من المستخدم منح الإذن بالوصول لأنّ تطبيق Mac قد يعدّل عنصرًا في سلسلة المفاتيح لم ينشئه. لمعالجة هذا التناقض، يرسل Firebase طلب بحث إلى سلسلة المفاتيح باستخدام المفتاح kSecUseDataProtectionKeychain، والذي يطلب من التطبيق إرسال طلب بحث إلى عنصر سلسلة مفاتيح يمثّل جزءًا من مجموعة وصول إلى سلسلة المفاتيح (هذا هو الإعداد التلقائي على الأنظمة الأساسية الأخرى). يجب تفعيل ميزة "مشاركة سلسلة المفاتيح" (Keychain Sharing) لأنّ التطبيق يحتاج إليها لإنشاء مجموعة وصول يمكن مشاركتها بين أهدافه، ما يمنح التطبيق الإذن بالوصول بحرية إلى عناصر سلسلة المفاتيح في مجموعة الوصول.
لمزيد من المعلومات، يُرجى الاطّلاع على
مستندات 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.