تحديد المشاكل وحلّها والأسئلة الشائعة حول أنظمة 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-09 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-09 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]