تقدّم هذه الصفحة نصائح ومعلومات حول تحديد المشاكل وحلّها في ما يتعلّق بأنظمة Apple الأساسية،
التي قد تواجهها عند استخدام Firebase.
هل لديك تحديات أخرى أو لم تظهر مشكلتك الموضّحة أدناه؟ احرص على مراجعة الأسئلة الشائعة حول Firebase للاطّلاع على المزيد من الأسئلة الشائعة حول Firebase أو تلك المتعلقة بالمنتج.
يمكنك أيضًا الاطّلاع على مستودع GitHub لحزمة تطوير البرامج (SDK) لمنصّات Firebase Apple للاطّلاع على قائمة محدّثة بالمشاكل التي تم الإبلاغ عنها وتحديد المشاكل وحلّها. نشجّعك أيضًا على الإبلاغ عن المشاكل المتعلّقة بحزمة تطوير البرامج (SDK) لمنصات Firebase Apple
الخاصة بك.
يطلب التطبيق من المستخدم إدخال كلمة المرور للوصول إلى عناصر 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
، ما يطلب من
التطبيق طلب البحث عن عنصر سلسلة مفاتيح يشكّل جزءًا من مجموعة وصول لسلسلة المفاتيح
(وهذا هو السلوك التلقائي على المنصات الأخرى). إنّ إمكانية "مشاركة سلسلة المفاتيح"
مطلوبة لأنّ التطبيق يحتاج إليها من أجل تجميع مجموعة حاصلة على إذن وصول يمكن
مشاركتها بين الأهداف، ما يمنح التطبيق الإذن بالوصول بحرية إلى
عناصر سلسلة المفاتيح في مجموعة الوصول.
لمزيد من المعلومات، يمكنك الاطّلاع على
مستندات سلسلة المفاتيح
من Apple.
في الإصدار 13 من Xcode والإصدارات الأحدث، لماذا لا يمكن لتطبيقات UIKit فتح بعض عناوين URL التي سجّلتها
في Info.plist؟
حدّدت Apple الحد الأقصى الذي يبلغ 50 إدخال LSApplicationQueriesSchemes
في ملف Info.plist
. في عام 2015، أطلقت شركة Apple السمة LSApplicationQueriesSchemes
للحدّ من عدد طلبات البحث عن عناوين URL التي يمكن أن يجريها كل تطبيق. مع إصدار Xcode 13، يتم فرض هذه الحدود،
بينما لم يكن هناك حد أقصى فعّال لعدد
المخططات في Xcode 12 والإصدارات الأقدم.
تتطلب بعض منتجات Firebase، مثل مصادقة Firebase و"روابط Firebase الديناميكية"، استخدام مخططات عناوين URL مخصصة لإعادة التوجيه إلى تطبيقك. تتوافق
عناوين URL هذه مع مخطّط عناوين URL موجز ومتسق يجب ألا يتم احتسابه بشكل كبير
ضمن الحدّ الأقصى المسموح به لعدد الروابط وهو 50 رابطًا.
ويُرجى العِلم بأنّه بالنسبة إلى التطبيقات التي تواصل تسجيل أكثر من 50
LSApplicationQueriesSchemes
، سيتم تجاهل بعض المخططات
بدون تنبيه. قد يتعذّر على التطبيق تنفيذ روابط معيّنة لصفحات في التطبيق،
وذلك حسب ترتيب إضافتها.