فهم Firebase على أنظمة Apple الأساسية

أثناء تطوير تطبيق Apple باستخدام Firebase، قد تكتشف مفاهيم غير مألوفة أو خاصة بـ Firebase. تهدف هذه الصفحة إلى الإجابة عن هذه الأسئلة أو توجيهك إلى مراجع لمزيد من المعلومات.

إذا كانت لديك أسئلة حول موضوع لم يتم تناوله في هذه الصفحة، يمكنك زيارة أحد منتدياتنا الإلكترونية. سنعدّل أيضًا هذه الصفحة بمواضيع جديدة بشكل دوري، لذا يُرجى زيارتها من حين لآخر لمعرفة ما إذا أضفنا الموضوع الذي تريد الاطّلاع عليه.

توافق مكتبة Firebase حسب النظام الأساسي

يوضّح الجدول التالي مكتبات Firebase المتوافقة مع منصات Apple. في الوقت الحالي، لا يتوفّر نظاما التشغيل visionOS وwatchOS إلا من خلال دعم المنتدى. يمكنك الاطّلاع على مستودع GitHub الخاص بحزمة تطوير البرامج (SDK) لمنصات Apple من Firebase للحصول على تعليمات التثبيت والتعرّف على المشاكل المعروفة.

المكتبة iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 الإصدار 15 من iOS والإصدارات الأحدث الإصدار 12 من نظام التشغيل macOS أو إصدار أحدث Catalyst 15+‎ الإصدار 15 من نظام التشغيل tvOS والإصدارات الأحدث (دعم المنتديات فقط) watchOS 8 والإصدارات الأحدث
Analytics الإصدار 8.9.0 أو إصدار أحدث الإصدار 8.9.0 أو إصدار أحدث الإصدار 8.9.0 أو إصدار أحدث
‫Analytics بدون معرّف الإعلان الإصدار 8.9.0 أو إصدار أحدث الإصدار 8.9.0 أو إصدار أحدث الإصدار 8.9.0 أو إصدار أحدث
إحالة ناجحة واحدة (Analytics) على الجهاز فقط
App Check
موفّر DeviceCheck
watchOS 9 والإصدارات الأحدث
App Check
مقدّم خدمة App Attest
الإصدار 14 من iOS والإصدارات الأحدث الإصدار 11 من نظام التشغيل macOS أو إصدار أحدث Catalyst 14+‎ الإصدار 15 من نظام التشغيل tvOS أو إصدار أحدث watchOS 9 والإصدارات الأحدث
App Check
مقدّمو الخدمات المخصّصة ومقدّمو خدمات تصحيح الأخطاء
مقدّم خدمة App Check
reCAPTCHA
App Distribution
Authentication جزئية جزئي جزئي جزئي جزئية
Cloud Firestore توزيعات المصدر فقط
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
عمليتا تثبيت (Firebase)
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
المكتبات المتوقفة نهائيًا أو غير المتوافقة
Dynamic Links
أداة تنزيل نماذج Firebase ML

1 كانت "Firebase AI Logic" تُعرف سابقًا باسم "Vertex AI in Firebase".

2 كانت "Firebase SQL Connect" تُعرف سابقًا باسم "Firebase Data Connect".

مقتطفات التطبيقات

يمكن إنشاء معظم مكتبات Firebase وتشغيلها في هدف App Clip، ولكن العديد منها مقيد نتيجة لقيود نظام التشغيل الأساسية. تشمل المشاكل المعروفة ما يلي:

  • لا يمكن أن توجّه الروابط الديناميكية المستخدمين إلى تطبيق مصغّر إذا نقروا على رابط بدون تثبيت التطبيق.
  • لا يمكن لـ Firestore وقاعدة بيانات الوقت الفعلي تحميل البيانات في App Clips بسبب تبعية CFStream الأساسية.

يمكنك الاطّلاع على مستودع Firebase GitHub للحصول على قائمة كاملة بمشاكل App Clip المعروفة.

GoogleService-Info.plist

كجزء من عملية إضافة Firebase إلى مشروع Apple، عليك إضافة ملف الإعداد GoogleService-Info.plist إلى مشروعك. إذا أردت استخدام مشاريع Firebase متعددة في تطبيق واحد، يُرجى الانتقال إلى المستندات الخاصة بإعداد مشاريع متعددة.

يمكنك الاطّلاع على مستندات مرجع Swift لمزيد من التفاصيل حول عملية إعداد تطبيق Firebase.

Swift Package Manager

يمكنك الاطّلاع على مزيد من المعلومات حول دمج Swift Package Manager في دليلنا.

إضافات Swift

كانت إضافات Swift لحزمة تطوير البرامج (SDK) لمنصة Firebase Apple في السابق عبارة عن إضافات صغيرة، برنامج مفتوح المصدر للمكتبات الحالية لمنصة Firebase Apple التي تتيح للرمز البرمجي استخدام الميزات الخاصة بلغة Swift. تمت إضافة واجهات برمجة التطبيقات هذه منذ ذلك الحين مباشرةً إلى المكتبات الرئيسية ولا يلزم تضمينها بشكل منفصل. إذا كان لديك سابقًا حزمة SDK لإضافات Swift في قاعدة الرموز البرمجية، يُرجى الاطّلاع على دليل نقل البيانات للحصول على تعليمات الترقية.

SwiftUI

‫Firebase متوافق تمامًا مع SwiftUI، ولكن سيكون الإعداد مختلفًا قليلاً عن تطبيقات UIKit لكي يعمل Firebase بشكل صحيح في بيئة SwiftUI بالكامل. يمكنك الاطّلاع على منشور المدوّنة هذا الذي كتبه "بيتر فريز" لمزيد من التفاصيل.

يجب أن توقف تطبيقات SwiftUI ميزة swizzling بسبب مشكلة معروفة. يمكنك الاطّلاع على قسم تبديل مفوَّض التطبيق لمزيد من التفاصيل.

تبديل مفوَّض التطبيق

تستبدل Firebase بعض الطرق في فئة مفوّض التطبيق لربط بعض خدمات Firebase تلقائيًا بعمليات الاستدعاء في نظام التشغيل، مثل FCM ورمز APNs المميّز. يمكنك إيقاف ميزة swizzling في تطبيقك من خلال إضافة العلامة FirebaseAppDelegateProxyEnabled في ملف Info.plist الخاص بالتطبيق وضبطها على NO.

تستخدم أربعة منتجات من Firebase تقنية App Delegate swizzling: Analytics وApp Distribution وAuthentication وFCM. إذا أوقفت ميزة swizzling في تطبيقك وكنت تستخدم أيًا من المنتجات التالية، يُرجى الرجوع إلى الدليل الخاص بالمنتج للتعرّف على كيفية استخدام المنتج بدون swizzling:

التوافق مع الإصدار 14 من نظام التشغيل iOS

يتضمّن نظام التشغيل iOS 14 تغييرات جديدة على أذونات المستخدمين في ما يتعلّق بمعرّف الإعلانات الخاص بالمستخدم. اطّلِع على دليل الاستعداد لنظام التشغيل iOS 14 لمزيد من التفاصيل حول ما إذا كان تطبيقك سيتأثر أم لا.

دعم مستمر للغة Objective-C

لتسهيل صيانة مستندات منصات Apple، قررت Firebase التركيز على مقتطفات Swift وعينات التعليمات البرمجية في أدلتنا ومواد المطورين الأخرى. ستتم إزالة مقتطفات Objective-C من أدلتنا اعتبارًا من 1 يناير 2024. سنواصل توفير مستندات مرجعية محدّثة للغة Objective-C لجميع منتجات Firebase.

مراجع مفتوحة المصدر لحِزم تطوير البرامج (SDK) لمنصّة Apple من Firebase

تتيح منصة Firebase تطوير البرامج المفتوحة المصدر، ونحن نشجّع على تقديم المساهمات والملاحظات من المنتدى.

حِزم تطوير البرامج (SDK) لمنصّة Firebase Apple

يتم تطوير جميع حِزم Firebase SDK لمنصات Apple باستثناء Analytics كمكتبات مفتوحة المصدر في مستودع Firebase GitHub العام.

FirebaseUI

‫FirebaseUI هي مجموعة من مكتبات الأدوات المساعدة المستندة إلى Firebase، بما في ذلك مسار واجهة مستخدم جاهز للمصادقة وأدوات مساعدة للبيانات في Cloud Firestore وRealtime Database. يمكنك الاطّلاع على مزيد من التفاصيل حول FirebaseUI على صفحة GitHub.

نماذج البدء السريع

يحتفظ Firebase بمجموعة من نماذج البدء السريع لمعظم واجهات برمجة تطبيقات Firebase على نظام التشغيل iOS. يمكنك العثور على أدلة البدء السريع هذه في مستودع البدء السريع العام على GitHub في Firebase.

يمكنك فتح كل دليل تشغيل سريع في Xcode، ثم تشغيله على جهاز جوّال أو محاكي. أو يمكنك استخدام أدلة البدء السريع هذه كأمثلة على الرموز البرمجية لاستخدام حِزم تطوير البرامج (SDK) في Firebase.