أعلنت CocoaPods أنّها ستصبح للقراءة فقط في ديسمبر 2026، وبعد ذلك لن يعود بإمكانك نشر إصدارات جديدة من pod. تقدّم الأقسام التالية مزيدًا من المعلومات حول هذا التغيير، وتوضّح كيفية نقل تطبيقاتك إلى أدوات إدارة التثبيت الأخرى.
نظرة عامة
- ما هو التغيير؟ ستنتقل CocoaPods إلى حالة القراءة فقط، وستتوقف Firebase عن نشر إصدارات جديدة على CocoaPods في أكتوبر 2026.
- هل سيتوقف تطبيقي عن العمل؟ لا، ستظل الإصدارات الحالية من مكتبات Firebase متاحة إلى أجل غير مسمّى في سجلّ CocoaPods، وستستمر تطبيقاتك التي تستخدم إصدارات CocoaPod هذه في العمل.
- لماذا يجب نقل البيانات؟ لمواصلة تلقّي أحدث الميزات وتحسينات الأداء والإصلاحات المهمة، عليك نقل بيانات الاستخدام إلىSwift Package Managerأوالتثبيت اليدوي.
استجابةً لإعلان CocoaPods، ستتوقف Firebase عن نشر إصدارات جديدة على CocoaPods في أكتوبر 2026. تؤثر هذه التغييرات في جميع ملفات pod التالية والملحقات الفرعية التابعة لها:
| ملفات pod المتأثرة في Firebase | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
ستؤثر هذه التغييرات أيضًا في جميع توزيعات Firebase التي تتضمّن حزمة Firebase Apple SDK الأصلية، بما في ذلك 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:
- تأكَّد من أنّ كل ملحقات تطبيقك تتوافق مع Swift Package Manager. تتوافق جميع مكتبات Firebase مع SPM، ولكن عليك التحقّق من توافق ملحقاتك غير التابعة لـ Firebase مع SPM في مستودعات GitHub أو صفحات المنتجات. إذا كانت بعض ملحقاتك غير التابعة لـ Firebase لا تتوافق مع SPM، فإنّ استخدام التثبيت اليدوي بدلاً من SPM هو مسار نقل البيانات الأكثر استقرارًا من CocoaPods.
- بعد إغلاق Xcode، أزِل CocoaPods من مشروعك:
- ألغِ تثبيت ملحقات CocoaPods عن طريق تنفيذ الأمر التالي في دليل مشروعك:
pod deintegrate
- احذف ملف
.xcworkspaceالذي تم إنشاؤه باستخدام CocoaPods.
- ألغِ تثبيت ملحقات CocoaPods عن طريق تنفيذ الأمر التالي في دليل مشروعك:
- في Xcode، عدِّل مشروعك باستخدام ملحقات Swift Package Manager:
- افتح ملف
.xcodeprojالخاص بمشروعك من خلال Xcode. - أعِد إضافة ملحقات تطبيقك باستخدام ملف > إضافة ملحقات الحزمة (File > Add Package Dependencies).
- افتح ملف
- بعد إضافة حزمة Firebase، يمكنك تعديل مكتبات Firebase التي تعتمد عليها عن طريق الانتقال إلى إعدادات المشروع في Xcode، واختيار هدف تطبيقك، وتعديل المكتبات ضمن الأطر والمكتبات والمحتوى المضمّن (Frameworks, Libraries, and Embedded Content).
مزيد من المعلومات حول استخدام SPM في Xcode في مستندات Apple
التثبيت اليدوي
ما هو التثبيت اليدوي؟
يتضمّن التثبيت اليدوي تنزيل أرشيف Firebase.zip الذي يحتوي على XCFrameworks التي تم تجميعها مسبقًا لجميع منتجات Firebase. يتيح لك ذلك سحب حِزم تطوير البرامج (SDK) معيّنة وإفلاتها مباشرةً في مشروع Xcode بدون استخدام أداة إدارة الاعتماديات.
نقل البيانات لاستخدام التثبيت اليدوي
- بعد إغلاق Xcode، أزِل CocoaPods من مشروعك:
- ألغِ تثبيت ملحقات CocoaPods عن طريق تنفيذ الأمر التالي في دليل مشروعك:
pod deintegrate
- احذف ملف
.xcworkspaceالذي تم إنشاؤه باستخدام CocoaPods.
- ألغِ تثبيت ملحقات CocoaPods عن طريق تنفيذ الأمر التالي في دليل مشروعك:
- اتّبِع الخطوات الواردة في دليل التثبيت لإضافة Firebase إلى مشروعك يدويًا.
نقل تطبيقات Unity وC++ وFlutter
Firebase Unity SDK وFlutterFire
لا يلزم اتّخاذ أي إجراء لمعظم مطوّري Unity وFlutter. سيؤدي الترقية إلى أحدث إصدار من Firebase على Unity أو Flutter إلى نقل أداة إدارة الملحقات الأساسية تلقائيًا على منصات Apple إلى Swift Package Manager.
يُرجى العِلم أنّه إذا كنت تدير ملحقات غير تابعة لـ Firebase من خلال CocoaPods، قد تحتاج إلى نقلها يدويًا.
Firebase C++ SDK
إذا كنت تتضمّن ملحقات iOS الأساسية من خلال CocoaPods، يمكنك اتّباع تعليمات نقل البيانات أعلاه لتعديل ملحقات Firebase CocoaPod لاستخدام Swift Package Manager بدلاً من ذلك.
الأسئلة الشائعة
أحتاج إلى مواصلة استخدام CocoaPods بعد أكتوبر 2026. كيف يمكنني مواصلة تشغيل تطبيقي؟
في كلتا الحالتَين، ننصحك بنقل البيانات من CocoaPods في أقرب وقت ممكن. لن نقدّم دعمًا رسميًا لتثبيت Firebase مباشرةً من ملف podspec بعد إيقاف دعم CocoaPods في أكتوبر 2026. إذا اخترت استضافة ملفات podspec الخاصة بك، ستكون مسؤولاً عن إبقائها محدّثة.
لماذا سيتم إيقاف دعم CocoaPods في أكتوبر 2026 بينما يمكن نشر CocoaPods حتى ديسمبر 2026؟
اخترنا شهر أكتوبر لضمان استقرار الإصدارات النهائية المنشورة على CocoaPods قبل قفل السجلّ في ديسمبر. يوفّر هذا الجدول الزمني فترة احتياطية ضرورية لتنسيق هذه التعديلات النهائية بأمان، ويضمن حصول حِزم SDK من عدّة منصات، التي تعتمد على حزمة SDK الأصلية ولكنّ دورات إصدارها متأخرة، على وقت كافٍ لإعداد إصداراتها الخاصة.
هل سيتوقف تطبيقي عن العمل إذا لم أعدّله؟
لا، لا يؤثر هذا الإيقاف إلا في الإصدارات المستقبلية من مكتبات Firebase. ستظل الإصدارات الحالية في CocoaPods قابلة للتثبيت ولن تتأثر التطبيقات التي تم نشرها باستخدام إصدارات ملفات pod هذه.
هل يؤثر ذلك في الفوترة الخاصة بالمشروع؟
الرقم
أتلقّى الخطأ "FirebaseLibrary not found" عند تجميع مشروعي بعد نقل البيانات إلى Swift Package Manager. كيف أصلح هذا؟
تأكَّد من إضافة حزمة Firebase إلى مشروع Xcode.
عند إضافة حزمة Firebase، سيطلب منك Xcode إضافة أُطر عمل Firebase إلى أهداف إنشاء تطبيقك. إذا نسيت إضافة إطار عمل خلال هذه الخطوة، يمكنك دائمًا إضافته لاحقًا في إعدادات هدفك ضمن مراحل الإنشاء > ربط الملفات الثنائية بالمكتبات (Build Phases > Link Binary with Libraries). إذا كان مشروعك يحتوي على أهداف متعددة، تأكَّد من إضافة Firebase إلى الأهداف الصحيحة.
هل ستؤدي عملية النقل هذه إلى إيقاف خطوط CI/CD؟
لا، ستستمر خطوط pod install أو pod update في العمل للإصدارات الحالية. ومع ذلك، لن تجلب أي تعديلات جديدة على مكتبات Firebase تم إصدارها بعد أكتوبر 2026.