تقدم هذه الصفحة نصائح واستكشاف الأخطاء وإصلاحها للمشكلات الخاصة بمنصة Apple التي قد تواجهها عند استخدام Firebase.
هل تواجه تحديات أخرى أو لا ترى مشكلتك الموضحة أدناه؟ تأكد من مراجعة الأسئلة الشائعة الرئيسية لـ Firebase للحصول على مزيد من الأسئلة الشائعة حول Firebase أو الأسئلة الشائعة الخاصة بالمنتج.
يمكنك أيضًا الاطلاع على مستودع Firebase Apple الأساسي SDK GitHub للحصول على قائمة محدثة بالمشكلات التي تم الإبلاغ عنها واستكشاف الأخطاء وإصلاحها. نحن نشجعك على تقديم المشكلات المتعلقة بـ SDK لمنصات Firebase Apple الخاصة بك هناك أيضًا!
ما إصدارات Xcode التي يدعمها Firebase؟
يدعم Firebase ما يصل إلى إصدارين رئيسيين من Xcode، ولا يشمل إصدارات Xcode التي لم تعد Apple تدعمها. على سبيل المثال، بدءًا من مارس 2019، طلبت شركة Apple نظام التشغيل iOS 12 على الأقل في جميع التطبيقات، مما يعني أنه تم إسقاط دعم Xcode 9 وكان Xcode 10 هو الإصدار الرئيسي الوحيد المدعوم.
يتم تحديد التغييرات لدعم إصدارات ثانوية أو تصحيحية محددة من Xcode (على سبيل المثال، 9.2.0 إلى 9.4.1) بناءً على احتياجات Firebase Apple Platform SDK واستطلاع حول استخدام المطورين. تنعكس هذه التغييرات في ملاحظات إصدار SDK لمنصات Firebase Apple وفي صفحة إعداد SDK لمنصات Firebase Apple .
لمعرفة الحد الأدنى لإصدار Xcode المدعوم بواسطة SDK، تحقق من المتطلبات المدرجة في إضافة Firebase إلى مشروع Apple الخاص بك .
يتوفر دعم Firebase للإصدارات التجريبية من Xcode على أساس "أفضل جهد". يمكن للمطورين تتبع المشكلات وإرسالها في مستودع SDK الخاص بأنظمة Firebase Apple على GitHub .
يطالب تطبيقي المستخدم بإدخال كلمة المرور الخاصة به للوصول إلى عناصر 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 مطلوبة لأن التطبيق يحتاج إليها لتجميع مجموعة وصول يمكن مشاركتها بين أهدافه، وبالتالي منح الإذن للتطبيق للوصول بحرية إلى عناصر سلسلة المفاتيح في مجموعة الوصول.
لمزيد من المعلومات، راجع وثائق Apple Keychain .
في الإصدار 13 من Xcode والإصدارات الأحدث، لماذا لا تتمكن تطبيقات UIKit من فتح بعض عناوين URL التي قمت بتسجيلها
في معلوماتي.plist؟
قدمت Apple حدًا يبلغ 50 إدخالًا لـ LSApplicationQueriesSchemes
في ملفات Info.plist
. في عام 2015، قدمت شركة Apple LSApplicationQueriesSchemes
للحد من عدد استعلامات URL التي يمكن لكل تطبيق إجراؤها. مع إصدار Xcode 13، تم فرض هذه الحدود، بينما في Xcode 12 والإصدارات السابقة لم يكن هناك حد فعال لعدد المخططات.
تتطلب بعض منتجات Firebase، مثل مصادقة Firebase وFirebase Dynamic Links، استخدام أنظمة URL مخصصة لإعادة التوجيه إلى تطبيقك. تتوافق عناوين URL هذه مع نظام URL موجز ومتسق والذي لا يجب أن يتم احتسابه بشكل كبير مقابل حد نظام الارتباط البالغ 50 رابطًا.
لاحظ أنه بالنسبة للتطبيقات التي تستمر في تسجيل أكثر من 50 LSApplicationQueriesSchemes
، سيتم تجاهل بعض المخططات بصمت. قد يتعذر على التطبيق تنفيذ روابط معينة لموضع معين، اعتمادًا على الترتيب الذي تمت إضافتها به.