فهم 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 أو الإصدارات الأحدث ‫macOS 11 والإصدارات الأحدث ‫Catalyst 14+ ‫tvOS 15 أو إصدار أحدث ‫watchOS 9 أو إصدار أحدث
App Check مقدّمو الخدمات المخصّصون ومقدّمو خدمات تصحيح الأخطاء
App Distribution
Authentication جزئي جزئي جزئي جزئي جزئي
Cloud Firestore توزيعات المصدر فقط
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
Firebase عملية تثبيت
Firebase ML أداة تنزيل النماذج
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 كان اسم Firebase AI Logic في السابق "Vertex AI in Firebase".

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

يمكن إنشاء معظم مكتبات 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. إذا أوقفت عملية استبدال الرمز في تطبيقك وكنت تستخدم أيًا من المنتجات التالية، يُرجى الرجوع إلى الدليل الخاص بالمنتج لمعرفة كيفية استخدام المنتج بدون استبدال الرمز:

التوافق مع الإصدار 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

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

FirebaseUI

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

أمثلة على Quickstart

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

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