يحتوي هذا المستودع على التعليمات البرمجية المصدر لجميع حزم SDK الخاصة بمنصة Apple Firebase باستثناء FirebaseAnalytics.
Firebase عبارة عن نظام أساسي لتطوير التطبيقات يشتمل على أدوات تساعدك في إنشاء تطبيقك وتنميته وتحقيق الدخل منه. يمكن العثور على مزيد من المعلومات حول Firebase على موقع Firebase الرسمي.
راجع الأقسام الفرعية أدناه للحصول على تفاصيل حول طرق التثبيت المختلفة. حيثما كان ذلك متاحًا، يوصى بتثبيت أي مكتبات بها لاحقة Swift
للحصول على أفضل تجربة عند كتابة تطبيقك بلغة Swift.
تثبيت جراب قياسي
مدير الحزم سويفت
التثبيت من جيثب الريبو
قرطاج التجريبية
للحصول على تعليمات حول تثبيت الكبسولة القياسية، تفضل بزيارة: https://firebase.google.com/docs/ios/setup.
يمكن العثور على تعليمات دعم Swift Package Manager في ملف SwiftPackageManager.md Markdown.
يمكن استخدام هذه التعليمات للوصول إلى مستودع Firebase في الفروع أو العلامات أو الالتزامات الأخرى.
راجع مرجع بناء جملة Podfile للحصول على الإرشادات والخيارات حول تجاوز مواقع مصدر pod.
تم وضع علامة على جميع الإصدارات الرسمية في هذا الريبو وهي متاحة عبر CocoaPods. للوصول إلى لقطة مصدر محلي أو فرع لم يتم إصداره، استخدم توجيهات Podfile كما يلي:
للوصول إلى FirebaseFirestore عبر فرع:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
للوصول إلى FirebaseMessaging عبر إصدار تم سحبه من repo firebase-ios-sdk:
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
يمكن العثور على تعليمات التوزيع التجريبي لقرطاج على موقع Carthage.md.
للحصول على تفاصيل حول استخدام Firebase من إطار عمل أو مكتبة، راجع firebase_in_libraries.md.
لتطوير برنامج Firebase في هذا المستودع، تأكد من أن لديك البرامج التالية على الأقل:
Xcode 15.2 (أو الأحدث)
لا تزال CocoaPods هي الطريقة الأساسية للتطوير، ولكن الكثير من الريبو يدعم الآن التطوير باستخدام Swift Package Manager.
قم بتثبيت ما يلي:
CocoaPods 1.12.0 (أو الأحدث)
تولد CocoaPods
بالنسبة للبود الذي تريد تطويره:
pod gen Firebase{name here}.podspec --local-sources=./ --auto-open --platforms=ios
ملاحظة: إذا كانت ذاكرة التخزين المؤقت لـ CocoaPods قديمة، فقد تحتاج إلى تشغيل pod repo update
قبل أمر pod gen
.
ملحوظة: اضبط خيار --platforms
على نظامي macos
أو tvos
لتطوير/اختبار تلك الأنظمة الأساسية. منذ الإصدار 10.2، لم يعد Xcode يتعامل بشكل صحيح مع مساحات عمل CocoaPods متعددة المنصات.
لدى Firestore مشروع Xcode قائم بذاته. راجع ملف Firestore/README Markdown.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
حدد مربع Mac في إعدادات إنشاء App-iOS
قم بتسجيل التطبيق في علامة التبويب "الإعدادات والتوقيع والإمكانات".
انقر فوق Pods في مدير المشروع
أضف التوقيع إلى تطبيق مضيف iOS وأهداف اختبار الوحدة
حدد مخطط الوحدة الوحدة
قم بتشغيله للبناء والاختبار
وبدلاً من ذلك، قم بتعطيل تسجيل الدخول لكل هدف:
انتقل إلى علامة التبويب إعدادات البناء
انقر فوق +
حدد Add User-Defined Setting
أضف إعداد CODE_SIGNING_REQUIRED
بقيمة NO
لتمكين أنظمة الاختبار: ./scripts/setup_spm_tests.sh
open Package.swift
أو انقر نقرًا مزدوجًا فوق Package.swift
في Finder.
سيفتح Xcode المشروع
اختر مخططًا لمكتبة لإنشاء مجموعة أو اختبار تشغيلها
اختر منصة مستهدفة عن طريق تحديد وجهة التشغيل مع المخطط
ارجع إلى ملف AddNewPod Markdown للحصول على التفاصيل.
للحصول على معلومات حول إدارة الرؤوس والواردات، راجع ملف HeadersImports Markdown.
للتأكد من تنسيق التعليمات البرمجية بشكل متسق، قم بتشغيل البرنامج النصي ./scripts/check.sh قبل إنشاء طلب سحب (PR).
سوف تتحقق إجراءات GitHub من أن أي تغييرات في التعليمات البرمجية تتم بطريقة متوافقة مع النمط. تثبيت clang-format
و mint
:
تثبيت الشراب clang-format@19brew تثبيت النعناع
حدد مخططًا واضغط على Command-u لإنشاء مكون وتشغيل اختبارات الوحدة الخاصة به.
لتشغيل نماذج التطبيقات واختبارات التكامل، ستحتاج إلى ملف GoogleService-Info.plist
صالح. يحتوي مشروع Firebase Xcode على ملفات plist وهمية بدون قيم حقيقية، ولكن يمكن استبدالها بملفات plist حقيقية. للحصول على ملفات GoogleService-Info.plist
الخاصة بك:
انتقل إلى وحدة تحكم Firebase
قم بإنشاء مشروع Firebase جديد، إذا لم يكن لديك مشروع بالفعل
بالنسبة لكل نموذج تطبيق تريد اختباره، قم بإنشاء تطبيق Firebase جديد باستخدام معرف حزمة نموذج التطبيق (على سبيل المثال، com.google.Database-Example
)
قم بتنزيل GoogleService-Info.plist
الناتج وأضفه إلى مشروع Xcode.
للحصول على تعليمات إنشاء تقرير التغطية، راجع ملف scripts/code_coverage_report/README Markdown.
راجع الأقسام أدناه للحصول على أي تعليمات خاصة لهذه المكونات.
لتطوير مصادقة Firebase محددة، راجع الملف التمهيدي لنموذج المصادقة للحصول على إرشادات حول إنشاء حاوية FirebaseAuth وتشغيلها بالإضافة إلى العينات والاختبارات المتنوعة.
يمكن إجراء اختبارات تكامل قاعدة بيانات Firebase مقابل محاكي قاعدة بيانات قيد التشغيل محليًا أو مقابل مثيل إنتاج.
للتشغيل مقابل مثيل محاكي محلي، قم باستدعاء ./scripts/run_database_emulator.sh start
قبل تشغيل اختبار التكامل.
للتشغيل مقابل مثيل إنتاج، قم بتوفير GoogleServices-Info.plist
صالح وانسخه إلى FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. يجب تعيين قاعدة الأمان الخاصة بك على الوضع العام أثناء تشغيل اختباراتك.
تم إهمال الروابط الديناميكية لـ Firebase ويجب عدم استخدامها في المشاريع الجديدة. سيتم إيقاف الخدمة في 25 أغسطس 2025.
يرجى الاطلاع على وثائق الأسئلة الشائعة حول إهمال الروابط الديناميكية للحصول على مزيد من الإرشادات.
للحصول على تطوير محدد لمراقبة أداء Firebase، راجع الملف التمهيدي للأداء للحصول على إرشادات حول إنشاء حزمة تطوير البرامج (SDK) وملف التمهيد الخاص بتطبيق اختبار الأداء للحصول على إرشادات حول دمج الأداء مع تطبيق اختبار التطوير.
لتشغيل اختبارات تكامل التخزين، اتبع الإرشادات الموجودة في StorageIntegration.swift.
لا يمكن تسليم الإشعارات الفورية إلا إلى معرفات التطبيقات المتوفرة خصيصًا في بوابة المطور. من أجل اختبار تلقي الإشعارات، سوف تحتاج إلى:
قم بتغيير معرف الحزمة الخاص بنموذج التطبيق إلى شيء تملكه في حساب Apple Developer الخاص بك وقم بتمكين معرف التطبيق هذا لإشعارات الدفع.
ستحتاج أيضًا إلى تحميل مفتاح مصادقة موفر APNs أو الشهادة إلى وحدة تحكم Firebase في إعدادات المشروع > المراسلة السحابية > [تطبيق Firebase الخاص بك] .
تأكد من إضافة جهاز iOS الخاص بك إلى بوابة Apple Developer الخاصة بك كجهاز اختبار.
لا يمكن لـ iOS Simulator التسجيل للحصول على الإشعارات عن بعد ولن يتلقى إشعارات الدفع. لتلقي إشعارات الدفع، اتبع الخطوات المذكورة أعلاه وقم بتشغيل التطبيق على جهاز فعلي.
راجع الملف التمهيدي Vertex AI for Firebase للحصول على إرشادات حول إنشاء حزمة SDK واختبارها.
يوفر Firebase دعمًا تجريبيًا رسميًا لأنظمة التشغيل macOS وCatalyst وtvOS. إن VisionOS وwatchOS مدعومان من المجتمع. بفضل مساهمات المجتمع للعديد من العلاقات العامة متعددة المنصات.
في الوقت الحالي، تتوفر معظم منتجات Firebase عبر منصات Apple. لا تزال هناك بعض الثغرات، خاصة في نظامي VisionOS وwatchOS. للحصول على تفاصيل حول مصفوفة الدعم الحالية، راجع هذا المخطط في وثائق Firebase.
حيثما يكون مدعومًا، يعمل VisionOS كما هو متوقع باستثناء Firestore عبر Swift Package Manager حيث يكون مطلوبًا استخدام التوزيع المصدر.
لتمكين توزيع مصدر Firestore، قم بإنهاء Xcode وافتح المشروع المطلوب من سطر الأوامر باستخدام متغير البيئة FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. للعودة إلى استخدام التوزيع الثنائي لـ Firestore، قم بإنهاء Xcode وفتح Xcode كالمعتاد، بدون متغير البيئة.
بفضل المساهمات المقدمة من المجتمع، أصبح الآن العديد من حزم Firebase SDK تقوم بتجميع وتشغيل اختبارات الوحدة والعمل على نظام watchOS. راجع نموذج تطبيق المراقبة المستقلة.
ضع في اعتبارك أن نظام watchOS غير مدعوم رسميًا بواسطة Firebase. بينما يمكننا اكتشاف مشكلات اختبار الوحدة الأساسية باستخدام GitHub Actions، قد تكون هناك بعض التغييرات حيث لم تعد SDK تعمل كما هو متوقع على watchOS. إذا واجهت هذا، يرجى تقديم مشكلة.
أثناء إعداد التطبيق في وحدة التحكم، قد تصل إلى خطوة تشير إلى شيء مثل "التحقق مما إذا كان التطبيق قد تواصل مع خوادمنا". يعتمد هذا على التحليلات ولن يعمل على نظام watchOS. من الآمن تجاهل الرسالة والمتابعة ، وستعمل بقية حزم SDK كما هو متوقع.
يتمتع نظام watchOS بدعم محدود. نظرًا لقيود نظام watchOS، لا يتم تسجيل استثناءات Mach وتعطل الإشارة. (يتم إنشاء الأعطال في SwiftUI كاستثناءات، لذلك لن يتم تسجيلها)
بفضل مساهمات المجتمع، يحتوي FirebaseCombineSwift على دعم لإطار عمل Apple Combine. هذه الوحدة قيد التطوير حاليًا وغير مدعومة للاستخدام في بيئات الإنتاج. لمزيد من التفاصيل، يرجى الرجوع إلى المستندات.
راجع خريطة الطريق لمعرفة المزيد حول خطط وتوجيهات Firebase Apple SDK مفتوحة المصدر.
راجع المساهمة للحصول على مزيد من المعلومات حول المساهمة في Firebase Apple SDK.
محتويات هذا المستودع مرخصة بموجب ترخيص Apache، الإصدار 2.0.
يخضع استخدامك لـ Firebase لشروط الخدمة الخاصة بخدمات Firebase.