CocoaPods اعلام کرد که در دسامبر ۲۰۲۶ به حالت فقط خواندنی (read-only) تبدیل خواهد شد و پس از آن دیگر نمیتوان نسخههای جدید پاد را منتشر کرد. بخشهای بعدی اطلاعات بیشتری در مورد این تغییر ارائه میدهند و نحوه انتقال برنامههای شما به سایر ابزارهای مدیریت نصب را توضیح میدهند.
نمای کلی
- چه چیزی تغییر میکند؟ CocoaPods در حال انتقال به حالت فقط خواندنی است و Firebase انتشار نسخههای جدید برای CocoaPods را در اکتبر 2026 متوقف خواهد کرد.
- آیا برنامه من از کار خواهد افتاد؟ خیر. نسخههای موجود کتابخانههای Firebase به طور نامحدود در رجیستری CocoaPods در دسترس خواهند بود و برنامههای شما که از آن نسخههای CocoaPod استفاده میکنند، به کار خود ادامه خواهند داد.
- چرا مهاجرت کنیم؟ برای ادامه دریافت آخرین ویژگیها، بهبودهای عملکرد و رفع اشکالات اساسی، باید از طریق Swift Package Manager یا نصب دستی، مهاجرت کنید.
برای تطبیق با اعلامیه CocoaPods، فایربیس انتشار نسخههای جدید در CocoaPods را در اکتبر 2026 متوقف خواهد کرد . این تغییرات بر همه پادهای زیر و وابستگیهای آنها تأثیر میگذارد:
| غلافهای فایربیس آسیبدیده | ||
|---|---|---|
Firebase | FirebaseAuth | FirebaseInstallations |
FirebaseABTesting | FirebaseCore | FirebaseMessaging |
FirebaseAI | FirebaseCrashlytics | FirebaseMLModelDownloader |
FirebaseAILogic | FirebaseDatabase | FirebasePerformance |
FirebaseAnalytics | FirebaseFirestore | FirebaseRemoteConfig |
FirebaseAppCheck | FirebaseFunctions | FirebaseStorage |
FirebaseAppDistribution | FirebaseInAppMessaging |
این تغییرات علاوه بر این، بر تمام توزیعهای فایربیس که کیت توسعه نرمافزار بومی فایربیس اپل ، از جمله فایربیس یونیتی SDK ، فایربیس سیپلاسپلاس SDK و فلاترفایر را در بر میگیرند، تأثیر خواهد گذاشت.
برنامههای اپل خود را منتقل کنید
اگر در حال انتقال سایر وابستگیهای (غیر فایربیس) از CocoaPods هستید، توجه داشته باشید که بهترین روش در صنعت، استفاده از یک روش نصب واحد برای کل پروژه است. ترکیب CocoaPods و Swift Package Manager (SPM) در یک هدف میتواند منجر به چرخههای وابستگی پیچیده و خطاهای ساخت شود. اگر وابستگیهای غیر فایربیس شما هنوز از SPM پشتیبانی نمیکنند، استفاده از نصب دستی کتابخانههای فایربیس پایدارترین راه برای یکپارچهسازی گردش کار شما هنگام انتقال است.
مدیر بسته سوئیفت (SPM)
مدیر بسته سوئیفت چیست؟
Swift Package Manager (SPM) ابزار بومی اپل برای مدیریت توزیع کد است. این ابزار مستقیماً در Xcode ادغام شده و نیاز به ابزارهای CLI خارجی مانند CocoaPods را از بین میبرد و با حذف نیاز به فضای کاری .xcworkspace برای اکثر پیکربندیهای استاندارد، ساختار پروژه شما را ساده میکند.
مهاجرت به استفاده از مدیریت بستههای سوئیفت
برای اکثر پروژهها، مهاجرت به 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 و Embedded Content بهروزرسانی کنید.
برای کسب اطلاعات بیشتر در مورد استفاده از SPM در Xcode، به مستندات اپل مراجعه کنید.
نصب دستی
نصب دستی چیست؟
نصب دستی شامل دانلود فایل فشرده Firebase.zip است که شامل XCFrameworks از پیش کامپایل شده برای همه محصولات Firebase است. این به شما امکان میدهد SDK های خاص را مستقیماً و بدون استفاده از مدیر وابستگی، به پروژه Xcode خود بکشید و رها کنید.
مهاجرت به استفاده از نصب دستی
- با بسته شدن Xcode، CocoaPods را از پروژه خود حذف کنید:
- با اجرای دستور زیر در دایرکتوری پروژه خود، وابستگیهای CocoaPods خود را حذف نصب کنید:
pod deintegrate
- فایل
.xcworkspaceتولید شده توسط CocoaPods را حذف کنید.
- با اجرای دستور زیر در دایرکتوری پروژه خود، وابستگیهای CocoaPods خود را حذف نصب کنید:
- برای اضافه کردن دستی Firebase به پروژه خود، مراحل راهنمای نصب ما را دنبال کنید.
برنامههای Unity، C++ و Flutter خود را منتقل کنید
کیت توسعه نرمافزار (SDK) برای فایربیس یونیتی و فلاترفایر
برای اکثر توسعهدهندگان Unity و Flutter نیازی به انجام هیچ اقدامی نیست. بهروزرسانی به آخرین نسخه Firebase در Unity یا Flutter به طور خودکار مدیر وابستگیهای اساسی شما را در پلتفرمهای اپل به Swift Package Manager منتقل میکند.
توجه داشته باشید که اگر وابستگیهای غیر فایربیس را از طریق CocoaPods مدیریت میکنید، ممکن است لازم باشد آنها را به صورت دستی منتقل کنید.
کیت توسعه نرمافزاری فایربیس سیپلاسپلاس
اگر وابستگیهای اساسی iOS را از طریق CocoaPods اضافه کردهاید، میتوانید دستورالعملهای مهاجرت بالا را دنبال کنید تا وابستگیهای Firebase CocoaPod خود را بهروزرسانی کنید تا به جای آن از Swift Package Manager استفاده کنید.
سوالات متداول
من باید بعد از اکتبر ۲۰۲۶ به استفاده از CocoaPods ادامه دهم. چگونه برنامهام را در حال اجرا نگه دارم؟
میتوانید از نسخههای قدیمی پادهای فایربیس استفاده کنید یا پادمشخصات فایربیس را از گیتهاب کپی کرده و آنها را در مخزن مشخصات خود میزبانی کنید.
در هر صورت، توصیه میکنیم در اسرع وقت از CocoaPods مهاجرت کنید . پس از قطع پشتیبانی CocoaPods در اکتبر 2026، ما پشتیبانی رسمی برای نصب مستقیم Firebase از podspec ارائه نخواهیم داد. اگر تصمیم به میزبانی podspec های خود دارید، مسئولیت بهروزرسانی آنها بر عهده شما خواهد بود.
چرا پشتیبانی از CocoaPods در اکتبر ۲۰۲۶ متوقف میشود، در حالی که CocoaPods میتواند تا دسامبر ۲۰۲۶ منتشر شود؟
ما ماه اکتبر را انتخاب کردیم تا مطمئن شویم نسخههای نهایی منتشر شده در CocoaPods قبل از قفل شدن رجیستری در ماه دسامبر پایدار هستند. این جدول زمانی، یک پشتوانه لازم برای هماهنگی ایمن این بهروزرسانیهای نهایی را فراهم میکند و تضمین میکند که SDKهای چند پلتفرمی - که به SDK بومی وابسته هستند اما چرخههای انتشار تأخیری دارند - زمان زیادی برای آمادهسازی نسخههای خود داشته باشند.
اگر بهروزرسانی نکنم، برنامهام از کار میافتد؟
خیر، این منسوخ شدن فقط بر نسخههای آینده کتابخانههای Firebase تأثیر میگذارد. نسخههای موجود در CocoaPods قابل نصب باقی خواهند ماند و برنامههای مستقر شده با استفاده از آن نسخههای pod تحت تأثیر قرار نخواهند گرفت.
آیا این موضوع روی هزینه پروژه تأثیر میگذارد؟
خیر.
بعد از مهاجرت به Swift Package Manager، هنگام کامپایل پروژهام با خطای "FirebaseLibrary یافت نشد" مواجه میشوم. چگونه میتوانم این مشکل را برطرف کنم؟
مطمئن شوید که پکیج Firebase را به پروژه Xcode خود اضافه کردهاید.
هنگام افزودن بسته Firebase، Xcode از شما میخواهد که چارچوبهای Firebase را به اهداف ساخت برنامه خود اضافه کنید. اگر در این مرحله فراموش کردید که چارچوبی را اضافه کنید، میتوانید بعداً آن را در تنظیمات هدف خود در قسمت Build Phases > Link Binary with Libraries اضافه کنید. اگر پروژه شما شامل چندین هدف است، مطمئن شوید که Firebase را به اهداف صحیح اضافه کردهاید.
آیا این انتقال، خطوط لوله CI/CD من را خراب خواهد کرد؟
خیر، خطوط لولهای که pod install یا pod update را اجرا میکنند، برای نسخههای موجود همچنان به کار خود ادامه خواهند داد. با این حال، هیچ بهروزرسانی جدیدی از کتابخانه Firebase که پس از اکتبر ۲۰۲۶ منتشر شده باشد را دریافت نخواهند کرد.