تحديد المشاكل وحلّها والأسئلة الشائعة حول أنظمة Apple الأساسية وFirebase
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تقدّم هذه الصفحة نصائح وتحديد المشاكل وحلّها للمشاكل المتعلّقة بمنصّة Apple التي قد تواجهها عند استخدام Firebase.
هل تواجه تحديات أخرى أو لا تظهر مشكلتك أدناه؟ يُرجى الاطّلاع على الأسئلة الشائعة الرئيسية حول Firebase لمزيد من الأسئلة الشائعة حول Firebase أو منتجات معيّنة.
يمكنك أيضًا الاطّلاع على مستودع GitHub لحزمة تطوير البرامج (SDK) لمنصات Apple في Firebase للحصول على قائمة محدّثة بالمشاكل التي تم الإبلاغ عنها وتحديد المشاكل وحلّها. ونشجّعك على تقديم المشاكل المتعلقة بحزمة تطوير البرامج (SDK) لمنصات Firebase Apple هناك أيضًا.
ما هي إصدارات Xcode التي تتوافق مع Firebase؟
يتوافق Firebase مع ما يصل إلى إصدارَين رئيسيَين من Xcode، باستثناء الإصدارات التي لم تعُد Apple تتيحها. على سبيل المثال، اعتبارًا من مارس 2019، فرضت Apple استخدام الإصدار iOS 12 على الأقل في جميع التطبيقات، ما يعني أنّه تم إيقاف دعم Xcode 9 وأصبح Xcode 10 هو رقم الإصدار الرئيسي الوحيد المتوافق.
يطلب تطبيقي من المستخدم إدخال كلمة المرور للوصول إلى عناصر Keychain على نظام التشغيل macOS. كيف أصلح هذا؟
يُرجى ترقية تبعية Firebase إلى الإصدار 9.6.0 أو إصدار أحدث وإضافة
[إمكانية مشاركة سلسلة المفاتيح](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
إلى هدفك.
لماذا تتطلّب Firebase إمكانية "مشاركة سلسلة المفاتيح" (Keychain Sharing) على نظام التشغيل macOS؟
تستخدم حِزم تطوير البرامج (SDK) في Firebase سلسلة مفاتيح لتخزين معلومات مثل معرّف تثبيت Firebase المستخدَم في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" (FCM). بدون الوصول إلى Keychain، قد لا تعمل حِزم تطوير البرامج (SDK) في Firebase
بشكل صحيح. تختلف طريقة عمل سلسلة مفاتيح macOS عن سلسلة مفاتيح iOS المستخدَمة على الأنظمة الأساسية الأخرى (iOS وtvOS وmacCatalyst وwatchOS).
على نظام التشغيل macOS، تستخدم التطبيقات سلسلة مفاتيح مشتركة قد يتم تعديلها من خلال تطبيقات وعمليات أخرى. وعلى عكس نظام التشغيل iOS، لا تتوفّر سلسلة مفاتيح في وضع الحماية يمكن للتطبيق الوصول إليها ضمنيًا. لذلك، عندما يتفاعل تطبيق Mac مع سلسلة المفاتيح، يطلب النظام من المستخدم منح الإذن بالوصول لأنّ تطبيق Mac قد يعدّل عنصرًا في سلسلة المفاتيح لم ينشئه. لمعالجة هذا التناقض، يرسل Firebase طلب بحث إلى سلسلة المفاتيح باستخدام المفتاح kSecUseDataProtectionKeychain، والذي يطلب من التطبيق البحث عن عنصر في سلسلة المفاتيح يكون جزءًا من مجموعة وصول إلى سلسلة المفاتيح (هذا هو الإعداد التلقائي على الأنظمة الأساسية الأخرى). يجب تفعيل ميزة "مشاركة سلسلة المفاتيح" (Keychain Sharing)
لأنّ التطبيق يحتاج إليها لإنشاء مجموعة وصول يمكن
مشاركتها بين أهدافه، ما يمنح التطبيق الإذن بالوصول بحرية
إلى عناصر سلسلة المفاتيح في مجموعة الوصول.
في الإصدار 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 الأساسية، يتم توزيع حزمة Firebase SDK بموجب ترخيص Apache 2.0.
تاريخ التعديل الأخير: 2026-10-16 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2026-10-16 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]