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