فهم 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 ‫iOS 15+ الإصدار 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
‫iOS 14 والإصدارات الأحدث الإصدار 11 من نظام التشغيل macOS أو إصدار أحدث Catalyst 14+ ‫tvOS 15 أو إصدار أحدث ‫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 وتشغيلها في هدف "مقتطف من التطبيق"، ولكن هناك العديد من القيود نتيجةً للقيود الأساسية في نظام التشغيل. تشمل المشاكل المعروفة ما يلي:

  • لا يمكن لـ "الروابط الديناميكية" توجيه المستخدمين إلى "مقتطف من التطبيق" إذا نقروا على رابط بدون تثبيت التطبيق.
  • لا يمكن لتطبيقَي Firestore وRealtime Database تحميل البيانات في "مقاطع التطبيقات" بسبب تبعية CFStream الأساسية.

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

‫GoogleService-Info.plist

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

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

Swift Package Manager

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

إضافات Swift

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

SwiftUI

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

يجب إيقاف عملية استبدال الرمز البرمجي في تطبيقات SwiftUI بسبب مشكلة معروفة. راجِع قسم استبدال وظائف مندوب التطبيق للحصول على مزيد من التفاصيل.

App delegate swizzling

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

تستخدم أربعة منتجات من Firebase عملية تبديل App Delegate، وهي: 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) لمنصّة Apple في Firebase

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

FirebaseUI

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

أمثلة على البدء السريع

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

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