أعلنت 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، ولكن عليك التحقّق من إتاحة استخدام SPM لتبعياتك غير التابعة لـ Firebase في مستودعات 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؟
لا، ستستمر خطوط CI/CD التي تنفّذ الأمرَين pod install أو pod update في العمل للإصدارات الحالية. ومع ذلك، لن تجلب أي تعديلات جديدة على مكتبات Firebase تم إصدارها بعد أكتوبر 2026.