أثناء تطوير تطبيقك على أجهزة Apple باستخدام Firebase، قد تصادف مفاهيم غير مألوفة أو خاصة بمنصة Firebase. تهدف هذه الصفحة إلى الإجابة عن هذه الأسئلة أو توجيهك إلى مصادر للتعرّف على مزيد من المعلومات.
إذا كانت لديك أسئلة حول موضوع غير مُغطّى في هذه الصفحة، يمكنك الانتقال إلى أحد منتدياتنا على الإنترنت. سنعدّل هذه الصفحة أيضًا بشكل دوري لإضافة مواضيع جديدة، لذا يُرجى الرجوع إليها لمعرفة ما إذا كنّا قد أضفنا الموضوع الذي تريد التعرّف عليه.
دعم مكتبة Firebase حسب النظام الأساسي
يصف الجدول التالي مكتبات Firebase المتوافقة مع أنظمة Apple الأساسية. في الوقت الحالي، لا يتوفّر الدعم إلا من المنتدى لنظامَي التشغيل visionOS وwatchOS. يمكنك الاطّلاع على مستودع Firebase Apple platforms SDK على GitHub للحصول على تعليمات التثبيت والمشاكل المعروفة.
| المكتبة | 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 | ||||||
| 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 وتشغيلها في هدف "مقتطف التطبيق"، ولكن يتم تقييد العديد منها نتيجةً للقيود الأساسية لنظام التشغيل. تشمل المشاكل المعروفة ما يلي:
- لا يمكن لخدمة Dynamic Links إرسال المستخدمين إلى "مقتطف تطبيق" إذا نقروا على رابط بدون تثبيت التطبيق.
- لا يمكن لخدمتَي Firestore و"قاعدة بيانات الوقت الفعلي" تحميل البيانات في "مقتطفات التطبيقات" بسبب تبعية CFStream الأساسية.
يمكنك الاطّلاع على مستودع Firebase على GitHub للحصول على قائمة كاملة بالمشاكل المعروفة في "مقتطفات التطبيقات".
ملف GoogleService-Info.plist
كجزء من إضافة Firebase إلى مشروعك على أجهزة Apple، عليك إضافة ملف الإعداد GoogleService-Info.plist إلى مشروعك. إذا أردت استخدام مشاريع متعددة على Firebase في تطبيق واحد، يمكنك الانتقال إلى مستندات إعداد مشاريع متعددة.
يمكنك الاطّلاع على مستندات مرجع Swift للتعرّف على عملية تهيئة تطبيق Firebase بمزيد من التفصيل.
Swift Package Manager
يمكنك التعرّف على مزيد من المعلومات عن عملية دمج Swift Package Manager في دليلنا.
إضافات Swift
كانت إضافات Swift لحزمة Firebase SDK لأنظمة 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.
المصادر المفتوحة المصدر لحِزم 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. يمكنك العثور على نماذج البدء السريع هذه في مستودع البدء السريع العام على Firebase GitHub .
يمكنك فتح كل نموذج من نماذج البدء السريع في Xcode، ثم تشغيله على جهاز جوّال أو محاكي. أو يمكنك استخدام نماذج البدء السريع هذه كرموز برمجية مثال لاستخدام حِزم Firebase SDK.