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