فهم 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 وتشغيلها في هدف "مقتطف التطبيق"، ولكن يتم تقييد العديد منها نتيجةً للقيود الأساسية لنظام التشغيل. تشمل المشاكل المعروفة ما يلي:

  • لا يمكن أن ترسل ميزة "الروابط الديناميكية" المستخدمين إلى "مقتطف التطبيق" إذا نقروا على رابط بدون تثبيت التطبيق.
  • لا يمكن أن تحمّل 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 لمزيد من التفاصيل.

يجب أن توقف تطبيقات SwiftUI عملية swizzling بسبب مشكلة معروفة. يمكنك الاطّلاع على قسم 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 الأساسية

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

FirebaseUI

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

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

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

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