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

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

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

دعم مكتبة Firebase حسب النظام الأساسي

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

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

1 Firebase AI Logic كان يُطلق عليه سابقًا "Vertex AI in Firebase".

2 Firebase SQL Connect كان يُطلق عليه سابقًا اسم "Firebase Data Connect".

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

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

  • لا يمكن لخدمة Dynamic Links إرسال المستخدمين إلى "مقتطف تطبيق" إذا نقروا على رابط بدون تثبيت التطبيق.
  • لا يمكن لخدمتَي 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) لمنصة Firebase على أجهزة Apple في السابق عبارة عن إضافات صغيرة مفتوحة المصدر لمكتبات منصة Firebase الحالية على أجهزة Apple، ما يتيح لرمزك البرمجي استخدام ميزات خاصة بلغة Swift. تمت إضافة واجهات برمجة التطبيقات هذه مباشرةً إلى المكتبات الرئيسية، ولا حاجة إلى تضمينها بشكل منفصل. إذا كانت لديك سابقًا حزمة تطوير برامج (SDK) لإضافة Swift في قاعدة الرموز البرمجية، يمكنك الاطّلاع على دليل نقل البيانات للحصول على تعليمات الترقية.

SwiftUI

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

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

عملية swizzling لمفوّض التطبيق

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

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

التوافق مع نظام التشغيل iOS 14

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

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

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

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

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

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

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

FirebaseUI

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

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

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

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