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