مهاجرت از CocoaPods

CocoaPods اعلام کرد که در دسامبر ۲۰۲۶ به حالت فقط خواندنی (read-only) تبدیل خواهد شد و پس از آن دیگر نمی‌توان نسخه‌های جدید پاد را منتشر کرد. بخش‌های بعدی اطلاعات بیشتری در مورد این تغییر ارائه می‌دهند و نحوه انتقال برنامه‌های شما به سایر ابزارهای مدیریت نصب را توضیح می‌دهند.

نمای کلی

  • What's changing? CocoaPods is moving to a read-only state, and Firebase will stop publishing new versions to CocoaPods in October 2026.
  • آیا برنامه من از کار خواهد افتاد؟ خیر. نسخه‌های موجود کتابخانه‌های Firebase به طور نامحدود در رجیستری CocoaPods در دسترس خواهند بود و برنامه‌های شما که از آن نسخه‌های CocoaPod استفاده می‌کنند، به کار خود ادامه خواهند داد.
  • Why migrate? To continue receiving the latest features, performance improvements, and critical fixes, you should migrate use to Swift Package Manager or manual installation .

برای تطبیق با اعلامیه CocoaPods، فایربیس انتشار نسخه‌های جدید در CocoaPods را در اکتبر 2026 متوقف خواهد کرد . این تغییرات بر همه پادهای زیر و وابستگی‌های آنها تأثیر می‌گذارد:

غلاف‌های فایربیس آسیب‌دیده
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

These changes will additionally impact all Firebase distributions that wrap the native Firebase Apple SDK , including the Firebase Unity SDK , Firebase C++ SDK , and FlutterFire .

برنامه‌های اپل خود را منتقل کنید

اگر در حال انتقال سایر وابستگی‌های (غیر فایربیس) از 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 آورده شده است:

  1. تأیید کنید که هر یک از وابستگی‌های برنامه شما از Swift Package Manager پشتیبانی می‌کنند. همه کتابخانه‌های Firebase از SPM پشتیبانی می‌کنند، اما باید پشتیبانی SPM را برای وابستگی‌های غیر Firebase خود در مخازن GitHub یا صفحات محصول آنها بررسی کنید. اگر برخی از وابستگی‌های غیر Firebase شما از SPM پشتیبانی نمی‌کنند، استفاده از نصب دستی به جای SPM پایدارترین مسیر مهاجرت از CocoaPods است.
  2. با بسته شدن Xcode، CocoaPods را از پروژه خود حذف کنید:
    • Uninstall your CocoaPods dependencies by running the following command in your project directory:
      pod deintegrate
    • فایل .xcworkspace تولید شده توسط CocoaPods را حذف کنید.
  3. در Xcode، پروژه خود را با استفاده از وابستگی‌های Swift Package Manager به‌روزرسانی کنید:
    • فایل .xcodeproj پروژه خود را از طریق Xcode باز کنید.
    • وابستگی‌های برنامه خود را با استفاده از File > Add Package Dependencies دوباره اضافه کنید.
  4. پس از افزودن بسته Firebase، می‌توانید کتابخانه‌های Firebase مورد استفاده خود را با رفتن به تنظیمات پروژه در Xcode، انتخاب هدف برنامه خود و به‌روزرسانی کتابخانه‌ها در بخش چارچوب‌ها، کتابخانه‌ها و محتوای جاسازی‌شده، به‌روزرسانی کنید. برای کسب اطلاعات بیشتر در مورد استفاده از SPM در Xcode به مستندات اپل مراجعه کنید.

نصب دستی

نصب دستی چیست؟

نصب دستی شامل دانلود فایل فشرده Firebase.zip است که شامل XCFrameworks از پیش کامپایل شده برای همه محصولات Firebase است. این به شما امکان می‌دهد SDK های خاص را مستقیماً و بدون استفاده از مدیر وابستگی، به پروژه Xcode خود بکشید و رها کنید.

مهاجرت به استفاده از نصب دستی

  1. با بسته شدن Xcode، CocoaPods را از پروژه خود حذف کنید:
    • با اجرای دستور زیر در دایرکتوری پروژه خود، وابستگی‌های CocoaPods خود را حذف نصب کنید:
      pod deintegrate
    • فایل .xcworkspace تولید شده توسط CocoaPods را حذف کنید.
  2. Follow the steps in our installation guide to add Firebase to your project manually.

برنامه‌های Unity، C++ و Flutter خود را منتقل کنید

کیت توسعه نرم‌افزار (SDK) برای فایربیس یونیتی و فلاترفایر

برای اکثر توسعه‌دهندگان Unity و Flutter نیازی به انجام هیچ اقدامی نیست. به‌روزرسانی به آخرین نسخه Firebase در Unity یا Flutter به طور خودکار مدیر وابستگی‌های اساسی شما را در پلتفرم‌های اپل به Swift Package Manager منتقل می‌کند.

Note that if you're managing non-Firebase dependencies via CocoaPods, you may need to migrate those manually.

کیت توسعه نرم‌افزاری فایربیس سی‌پلاس‌پلاس

اگر وابستگی‌های اساسی iOS را از طریق CocoaPods اضافه کرده‌اید، می‌توانید دستورالعمل‌های مهاجرت بالا را دنبال کنید تا وابستگی‌های Firebase CocoaPod خود را به‌روزرسانی کنید تا به جای آن از Swift Package Manager استفاده کنید.

سوالات متداول

من باید بعد از اکتبر ۲۰۲۶ به استفاده از CocoaPods ادامه دهم. چگونه برنامه‌ام را در حال اجرا نگه دارم؟

می‌توانید از نسخه‌های قدیمی پادهای فایربیس استفاده کنید یا پادمشخصات فایربیس را از گیت‌هاب کپی کرده و آنها را در مخزن مشخصات خود میزبانی کنید.

در هر صورت، توصیه می‌کنیم در اسرع وقت از CocoaPods مهاجرت کنید . پس از قطع پشتیبانی CocoaPods در اکتبر 2026، ما پشتیبانی رسمی برای نصب مستقیم Firebase از podspec ارائه نخواهیم داد. اگر تصمیم به میزبانی podspec های خود دارید، مسئولیت به‌روزرسانی آنها بر عهده شما خواهد بود.

Why is support for CocoaPods being discontinued in October 2026 when CocoaPods can be published until December 2026?

ما ماه اکتبر را انتخاب کردیم تا مطمئن شویم نسخه‌های نهایی منتشر شده در CocoaPods قبل از قفل شدن رجیستری در ماه دسامبر پایدار هستند. این جدول زمانی، یک پشتوانه لازم برای هماهنگی ایمن این به‌روزرسانی‌های نهایی را فراهم می‌کند و تضمین می‌کند که SDKهای چند پلتفرمی - که به SDK بومی وابسته هستند اما چرخه‌های انتشار تأخیری دارند - زمان زیادی برای آماده‌سازی نسخه‌های خود داشته باشند.

اگر به‌روزرسانی نکنم، برنامه‌ام از کار می‌افتد؟

No, this deprecation only affects future releases of Firebase libraries. Existing versions in CocoaPods will remain installable and deployed apps using those pod versions will not be affected.

آیا این موضوع روی هزینه پروژه تأثیر می‌گذارد؟

خیر.

I'm getting a "FirebaseLibrary not found" error when compiling my project after migrating to Swift Package Manager. How do I fix this?

Make sure you've added the Firebase package to your Xcode project.

هنگام افزودن بسته Firebase، Xcode از شما می‌خواهد که چارچوب‌های Firebase را به اهداف ساخت برنامه خود اضافه کنید. اگر در این مرحله فراموش کردید که چارچوبی را اضافه کنید، می‌توانید بعداً آن را در تنظیمات هدف خود در قسمت Build Phases > Link Binary with Libraries اضافه کنید. اگر پروژه شما شامل چندین هدف است، مطمئن شوید که Firebase را به اهداف صحیح اضافه کرده‌اید.

آیا این انتقال، خطوط لوله CI/CD من را خراب خواهد کرد؟

No, pipelines running pod install or pod update will continue to work for existing versions. However, they will not pull any new Firebase library updates released after October 2026.