النقل من CocoaPods

أعلنت CocoaPods أنّه سيصبح بإمكانك القراءة فقط في ديسمبر 2026، وبعد ذلك لن يعود بإمكانك نشر إصدارات جديدة من الحِزم. تقدّم الأقسام التالية المزيد من المعلومات حول هذا التغيير، وتوضّح كيفية نقل تطبيقاتك إلى أدوات إدارة تثبيت أخرى.

نظرة عامة

  • ما هي التغييرات؟ سيصبح CocoaPods في وضع القراءة فقط، وسيتوقّف Firebase عن نشر إصدارات جديدة على CocoaPods في أكتوبر 2026.
  • هل سيتعطّل تطبيقي؟ لا، ستظل الإصدارات الحالية من مكتبات Firebase متاحة إلى أجل غير مسمى في سجل CocoaPods، وسيستمر عمل تطبيقاتك التي تستخدم إصدارات CocoaPod هذه.
  • لماذا يجب نقل البيانات؟ لمواصلة تلقّي أحدث الميزات والتحسينات في الأداء وإصلاحات الأخطاء المهمة، عليك نقل الاستخدام إلى Swift Package Manager أو التثبيت اليدوي.

استجابةً لإعلان CocoaPods، سيتوقّف Firebase عن نشر إصدارات جديدة على CocoaPods في أكتوبر 2026. تؤثّر هذه التغييرات في جميع حِزم SDK التالية والتبعيات الفرعية الخاصة بها:

حِزم Firebase المتأثّرة
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

بالإضافة إلى ذلك، ستؤثّر هذه التغييرات في جميع توزيعات Firebase التي تتضمّن حزمة تطوير البرامج (SDK) الأصلية من Firebase لنظام التشغيل iOS، بما في ذلك Firebase Unity SDK وFirebase C++ SDK وFlutterFire.

نقل تطبيقات Apple

إذا كنت بصدد نقل تبعيات أخرى (غير Firebase) من CocoaPods، يُرجى العِلم أنّ أفضل ممارسة في المجال هي استخدام طريقة تثبيت واحدة لمشروعك بأكمله. قد يؤدي الجمع بين CocoaPods وSwift Package Manager (SPM) في الهدف نفسه إلى حدوث دورات معقّدة للاعتماديات وأخطاء في الإصدار. إذا كانت التبعيات غير التابعة لـ Firebase لا تتوافق بعد مع SPM، فإنّ استخدام التثبيت اليدوي لمكتبات Firebase هو الطريقة الأكثر استقرارًا لدمج سير عملك أثناء نقل البيانات.

‫Swift Package Manager (SPM)

ما هي أداة Swift Package Manager؟

‫Swift Package Manager (SPM) هي أداة أصلية من Apple لإدارة توزيع الرموز البرمجية. وهي مدمجة مباشرةً في Xcode، ما يغنيك عن استخدام أدوات سطر الأوامر الخارجية، مثل CocoaPods، كما أنّها تبسّط بنية مشروعك من خلال إزالة الحاجة إلى .xcworkspace لمعظم الإعدادات العادية.

نقل البيانات لاستخدام Swift Package Manager

في معظم المشاريع، لا تتطلّب عملية نقل البيانات إلى Swift Package Manager تغيير الرمز البرمجي للتطبيق، إلا إذا كان مشروعك يتضمّن إعدادات Xcode مخصّصة أو تبعيات تستخدم بشكل كبير نصوص تثبيت CocoaPods البرمجية.

إليك كيفية نقل البيانات إلى Swift Package Manager من CocoaPods:

  1. تأكَّد من أنّ كل التبعيات في تطبيقك تتوافق مع أداة Swift Package Manager. تتوافق جميع مكتبات Firebase مع SPM، ولكن عليك التحقّق من توافق التبعيات غير التابعة لـ Firebase مع SPM في مستودعات GitHub أو صفحات المنتجات. إذا كانت بعض التبعيات غير التابعة لـ Firebase لا تتوافق مع SPM، فإنّ استخدام التثبيت اليدوي بدلاً من SPM هو مسار النقل الأكثر استقرارًا من CocoaPods.
  2. بعد إغلاق Xcode، أزِل CocoaPods من مشروعك باتّباع الخطوات التالية:
    • ألغِ تثبيت تبعيات CocoaPods من خلال تنفيذ الأمر التالي في دليل مشروعك:
      pod deintegrate
    • احذف الملف .xcworkspace الذي تم إنشاؤه باستخدام CocoaPods.
  3. في Xcode، عدِّل مشروعك باستخدام تبعيات Swift Package Manager:
    • افتح ملف .xcodeproj الخاص بمشروعك من خلال Xcode.
    • أعِد إضافة موارد الاعتمادية للتطبيق باستخدام ملف > إضافة موارد الاعتمادية للحزمة (File > Add Package Dependencies).
  4. بعد إضافة حزمة Firebase، يمكنك تعديل مكتبات Firebase التي تعتمد عليها من خلال الانتقال إلى إعدادات المشروع في Xcode، واختيار هدف تطبيقك، وتعديل المكتبات ضمن الأطر والمكتبات والمحتوى المضمّن. يمكنك الاطّلاع على مزيد من المعلومات حول استخدام SPM في Xcode في مستندات Apple.

التثبيت اليدوي

ما هو التثبيت اليدوي؟

يتضمّن التثبيت اليدوي تنزيل الأرشيف Firebase.zip الذي يحتوي على حِزم XCFrameworks مجمَّعة مسبقًا لجميع منتجات Firebase. يتيح لك ذلك سحب وإفلات حِزم SDK محدّدة مباشرةً في مشروع Xcode بدون استخدام أداة إدارة التبعيات.

الانتقال إلى استخدام التثبيت اليدوي

  1. بعد إغلاق Xcode، أزِل CocoaPods من مشروعك:
    • ألغِ تثبيت تبعيات CocoaPods من خلال تنفيذ الأمر التالي في دليل مشروعك:
      pod deintegrate
    • احذف الملف .xcworkspace الذي تم إنشاؤه باستخدام CocoaPods.
  2. اتّبِع الخطوات الواردة في دليل التثبيت لإضافة Firebase إلى مشروعك يدويًا.

نقل تطبيقات Unity وC++‎ وFlutter

‫Firebase Unity SDK وFlutterFire

ليس على معظم مطوّري Unity وFlutter اتّخاذ أي إجراء. سيؤدي التحديث إلى أحدث إصدار من Firebase على Unity أو Flutter إلى نقل أداة إدارة التبعيات الأساسية تلقائيًا على منصات Apple إلى أداة Swift Package Manager.

يُرجى العِلم أنّه إذا كنت تدير التبعيات غير التابعة لـ Firebase من خلال CocoaPods، قد تحتاج إلى نقلها يدويًا.

Firebase C++ SDK

إذا كنت تتضمّن التبعيات الأساسية لنظام التشغيل iOS من خلال CocoaPods، يمكنك اتّباع تعليمات النقل أعلاه لتعديل تبعيات CocoaPod في Firebase واستخدام Swift Package Manager بدلاً من ذلك.

الأسئلة الشائعة

أحتاج إلى مواصلة استخدام CocoaPods بعد أكتوبر 2026. كيف يمكنني إبقاء تطبيقي قيد التشغيل؟

يمكنك إما استخدام الإصدارات القديمة من حِزم Firebase أو نسخ ملفات podspec الخاصة بـ Firebase من GitHub واستضافتها في مستودع ملفات podspec الخاص بك.

في كلتا الحالتين، ننصحك بنقل البيانات من CocoaPods في أقرب وقت ممكن. لن نقدّم دعمًا رسميًا لتثبيت Firebase مباشرةً من ملف podspec بعد إيقاف دعم CocoaPods نهائيًا في تشرين الأول (أكتوبر) 2026. إذا اخترت استضافة ملفات podspec الخاصة بك، ستكون مسؤولاً عن إبقائها محدّثة.

لماذا سيتم إيقاف التوافق مع CocoaPods نهائيًا في أكتوبر 2026، علمًا بأنّه يمكن نشر CocoaPods حتى ديسمبر 2026؟

لقد اخترنا شهر أكتوبر لضمان استقرار الإصدارات النهائية المنشورة على CocoaPods قبل إغلاق السجلّ في ديسمبر. يوفّر هذا الجدول الزمني فترة سماح ضرورية لتنسيق هذه التحديثات النهائية بأمان، كما يضمن توفّر وقت كافٍ لحِزم SDK المتوافقة مع عدّة منصات، والتي تعتمد على حزمة SDK الأصلية ولكن تتأخر دورات إصدارها، كي تستعد لإصداراتها.

هل سيتوقّف تطبيقي عن العمل إذا لم أُحدّثه؟

لا، لا يؤثّر هذا الإيقاف النهائي إلا في الإصدارات المستقبلية من مكتبات Firebase. ستظل الإصدارات الحالية في CocoaPods قابلة للتثبيت، ولن تتأثر التطبيقات التي تم نشرها باستخدام إصدارات الحزمة هذه.

هل يؤثر ذلك في فواتير المشاريع؟

الرقم

يظهر لي الخطأ "لم يتم العثور على FirebaseLibrary" عند تجميع مشروعي بعد نقل البيانات إلى Swift Package Manager. كيف أصلح هذا؟

تأكَّد من إضافة حزمة Firebase إلى مشروع Xcode.

عند إضافة حزمة Firebase، سيطلب منك Xcode إضافة أُطر عمل Firebase إلى أهداف إنشاء تطبيقك. إذا نسيت إضافة إطار عمل خلال هذه الخطوة، يمكنك دائمًا إضافته لاحقًا في إعدادات الهدف ضمن مراحل الإصدار > الربط بين البرامج الثنائية بالمكتبات. إذا كان مشروعك يحتوي على عدة أهداف، تأكَّد من إضافة Firebase إلى الأهداف الصحيحة.

هل ستؤدي عملية النقل هذه إلى إيقاف مسارات CI/CD؟

لا، ستستمر خطوط الأنابيب التي تعمل بالإصدار pod install أو pod update في العمل مع الإصدارات الحالية. ومع ذلك، لن يتمكّنوا من الحصول على أي تحديثات جديدة لمكتبة Firebase تم إصدارها بعد أكتوبر 2026.