CocoaPods থেকে মাইগ্রেট করা

CocoaPods ঘোষণা করেছে যে ২০২৬ সালের ডিসেম্বরে এটি রিড-ওনলি হয়ে যাবে, এর পরে নতুন পড ভার্সন আর প্রকাশ করা যাবে না। এই পরিবর্তন সম্পর্কে আরও তথ্য নিচে দেওয়া বিভাগগুলিতে পাবেন এবং আপনার অ্যাপকে কীভাবে অন্য ইনস্টলেশন ম্যানেজারে মাইগ্রেট করবেন তা জানতে পারবেন।

এক নজরে

  • কী কী পরিবর্তন করা হচ্ছে? CocoaPods রিড-অনলি স্টেটে চলে যাচ্ছে। Firebase 12 হল CocoaPods-এ প্রকাশিত চূড়ান্ত মেজর ভার্সন এবং Firebase অক্টোবর ২০২৬-এ CocoaPods-এ নতুন ভার্সন প্রকাশ করা বন্ধ করে দেবে।
  • আমার অ্যাপ কি কাজ করা বন্ধ করে দেবে? না। Firebase লাইব্রেরির আগেকার ভার্সন CocoaPods রেজিস্ট্রিতে উপলভ্য থাকবে এবং আপনার যেসব অ্যাপ সেইসব CocoaPod ভার্সন ব্যবহার করে সেগুলি CocoaPods ইকোসিস্টেম সাপোর্ট চালিয়ে যাওয়া পর্যন্ত কাজ করা চালিয়ে যাবে।
  • কেন মাইগ্রেট করবেন? লেটেস্ট ফিচার, পারফর্ম্যান্স উন্নতি এবং গুরুত্বপূর্ণ সমস্যা সমাধান পেতে, আপনাকে Swift Package Manager বা ম্যানুয়াল ইনস্টলেশন ব্যবহার করতে হবে।

CocoaPods-এর ঘোষণা অনুযায়ী, Firebase অক্টোবর, ২০২৬ থেকে CocoaPods-এ নতুন ভার্সন প্রকাশ করা বন্ধ করে দেবে। এইসব পরিবর্তন নিম্নলিখিত সব পড ও সেগুলির সাবডিপেন্ডেন্সির উপর প্রভাব ফেলে:

প্রভাবিত Firebase পড
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

এছাড়াও, এইসব পরিবর্তন নেটিভ Firebase Apple SDK-এর চারপাশে র‍্যাপ করা সব Firebase ডিস্ট্রিবিউশনকে প্রভাবিত করবে, যার মধ্যে Firebase Unity SDK, Firebase C++ SDK এবং FlutterFire অন্তর্ভুক্ত।

আপনার Apple অ্যাপ মাইগ্রেট করা

আপনি CocoaPods থেকে অন্যান্য (Firebase নয়) ডিপেন্ডেন্সি মাইগ্রেট করলে, মনে রাখবেন যে আপনার সম্পূর্ণ প্রজেক্টের জন্য একটি ইনস্টলেশন পদ্ধতি ব্যবহার করা শিল্পের সেরা প্র্যাক্টিস। একই টার্গেটের মধ্যে CocoaPods এবং Swift Package Manager (SPM) মিশিয়ে দিলে নির্ভরযোগ্যতা সংক্রান্ত জটিল চক্র এবং বিল্ড সংক্রান্ত সমস্যা হতে পারে। আপনার নন-Firebase ডিপেন্ডেন্সি এখনও SPM-এ কাজ না করলে, Firebase লাইব্রেরির জন্য ম্যানুয়াল ইনস্টলেশন ব্যবহার করা হল আপনার ওয়ার্কফ্লোকে একত্রিত করার সবচেয়ে স্থিতিশীল উপায়, কারণ আপনি মাইগ্রেট করছেন।

Swift Package Manager (SPM)

Swift প্যাকেজ ম্যানেজার কী?

Swift Package Manager (SPM) হল কোড ডিস্ট্রিবিউশন ম্যানেজ করার জন্য Apple-এর নেটিভ টুল। এটি সরাসরি Xcode-এ ইন্টিগ্রেট করা আছে, এর ফলে CocoaPods-এর মতো এক্সটার্নাল CLI টুলের প্রয়োজন হয় না এবং বেশিরভাগ স্ট্যান্ডার্ড কনফিগারেশনের জন্য .xcworkspace-এর প্রয়োজন হয় না বলে আপনার প্রোজেক্ট স্ট্রাকচারকে সহজ করে তোলে।

Swift Package Manager ব্যবহার করার জন্য মাইগ্রেট করা

বেশিরভাগ প্রজেক্টের ক্ষেত্রে, Swift Package Manager-এ মাইগ্রেট করার জন্য আপনার অ্যাপ্লিকেশন কোড পরিবর্তন করার প্রয়োজন হয় না, যদি না আপনার প্রজেক্টে কাস্টম Xcode কনফিগারেশন বা এমন কোনও নির্ভরতা থাকে যা CocoaPods ইনস্টল স্ক্রিপ্টকে ব্যাপকভাবে ব্যবহার করে।

CocoaPods থেকে Swift Package Manager-এ কীভাবে মাইগ্রেট করবেন তা এখানে দেওয়া হল:

  1. আপনার অ্যাপের প্রতিটি ডিপেন্ডেন্সি Swift Package Manager-এ কাজ করে কিনা তা যাচাই করুন। সব Firebase লাইব্রেরি SPM-এ কাজ করে, কিন্তু আপনাকে GitHub রিপোজিটরি বা প্রোডাক্ট পৃষ্ঠায় Firebase-এর বাইরের ডিপেন্ডেন্সির জন্য SPM-এর কাজ করার সুবিধা চেক করতে হবে। আপনার Firebase-এর উপর নির্ভর করে না এমন কিছু ডিপেন্ডেন্সি SPM-এ কাজ না করলে, CocoaPods থেকে সবচেয়ে স্থিতিশীল মাইগ্রেশন পাথ হল SPM-এর পরিবর্তে ম্যানুয়াল ইনস্টলেশন ব্যবহার করা।
  2. Xcode বন্ধ করে, আপনার প্রোজেক্ট থেকে CocoaPods সরিয়ে দিন:
    1. আপনার প্রোজেক্ট ডিরেক্টরিতে নিম্নলিখিত কমান্ড রান করিয়ে CocoaPods ডিপেন্ডেন্সি আনইনস্টল করুন:
      pod deintegrate
    2. CocoaPods-এর তৈরি করা .xcworkspace মুছে দিন।
  3. Xcode-এ, Swift প্যাকেজ ম্যানেজার ডিপেন্ডেন্সি সহ আপনার প্রোজেক্ট আপডেট করুন:
    1. Xcode-এর মাধ্যমে আপনার প্রোজেক্টের .xcodeproj ফাইল খুলুন।
    2. ফাইল > প্যাকেজ ডিপেন্ডেন্সি যোগ করুন বিকল্প ব্যবহার করে আপনার অ্যাপের ডিপেন্ডেন্সি আবার যোগ করুন।
  4. Firebase প্যাকেজ যোগ করা হয়ে গেলে, আপনি Xcode-এ প্রোজেক্ট সেটিংস থেকে আপনার অ্যাপ টার্গেট বেছে নিয়ে এবং ফ্রেমওয়ার্ক, লাইব্রেরি ও এম্বেড করা কন্টেন্ট-এর অধীনে লাইব্রেরি আপডেট করে, Firebase লাইব্রেরি আপডেট করতে পারবেন।

Apple ডকুমেন্টেশন থেকে Xcode-এ SPM ব্যবহার করা সম্পর্কে আরও জানুন।

ম্যানুয়ালি ইনস্টল করা

ম্যানুয়াল ইনস্টলেশন কী?

ম্যানুয়ালি ইনস্টল করার জন্য Firebase.zip আর্কাইভ ডাউনলোড করতে হয়, যার মধ্যে সব Firebase প্রোডাক্টের জন্য আগে থেকে কম্পাইল করা XCFramework থাকে। এর ফলে আপনি ডিপেন্ডেন্সি ম্যানেজার ব্যবহার না করেই নির্দিষ্ট SDK সরাসরি আপনার Xcode প্রোজেক্টে ড্র্যাগ করে ড্রপ করতে পারবেন।

ম্যানুয়াল ইনস্টলেশন ব্যবহার করার জন্য মাইগ্রেট করা

  1. Xcode বন্ধ করে, আপনার প্রোজেক্ট থেকে CocoaPods সরিয়ে দিন:
    1. আপনার প্রোজেক্ট ডিরেক্টরিতে নিম্নলিখিত কমান্ড রান করিয়ে CocoaPods ডিপেন্ডেন্সি আনইনস্টল করুন:
      pod deintegrate
    2. CocoaPods-এর তৈরি করা .xcworkspace মুছে দিন।
  2. আপনার প্রোজেক্টে ম্যানুয়ালি Firebase যোগ করতে, আমাদের ইনস্টলেশন গাইড থেকে ধাপগুলি অনুসরণ করুন।

আপনার Unity, C++ ও Flutter অ্যাপ মাইগ্রেট করা

Firebase Unity SDK এবং FlutterFire

বেশিরভাগ Unity ও Flutter ডেভেলপারদের কোনও অ্যাকশন নিতে হবে না। Unity বা Flutter-এ Firebase-এর লেটেস্ট ভার্সনে আপডেট করলে, Apple প্ল্যাটফর্মে আপনার আন্ডারলায়িং ডিপেন্ডেন্সি ম্যানেজার অটোমেটিক Swift প্যাকেজ ম্যানেজারে মাইগ্রেট হয়ে যাবে।

মনে রাখবেন, আপনি CocoaPods-এর মাধ্যমে Firebase নয় এমন ডিপেন্ডেন্সি ম্যানেজ করলে, আপনাকে সেগুলি ম্যানুয়ালি মাইগ্রেট করতে হতে পারে।

Firebase C++ SDK

আপনি যদি CocoaPods-এর মাধ্যমে অন্তর্নিহিত iOS নির্ভরতা অন্তর্ভুক্ত করে থাকেন, তাহলে আপনি Swift Package Manager ব্যবহার করার পরিবর্তে আপনার Firebase CocoaPod নির্ভরতা আপডেট করতে উপরে দেওয়া মাইগ্রেশন সংক্রান্ত নির্দেশাবলী অনুসরণ করতে পারেন।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

২০২৬ সালের অক্টোবর মাসের পরেও আমাকে CocoaPods ব্যবহার করা চালিয়ে যেতে হবে। আমি কীভাবে আমার অ্যাপ চালু রাখব?

আপনি Firebase পডের পুরনো ভার্সন ব্যবহার করতে পারেন অথবা Firebase podspecs GitHub থেকে কপি করে আপনার নিজস্ব স্পেক্স রিপোজিটরিতে হোস্ট করতে পারেন।

যাই হোক, আমরা সাজেস্ট করি যে যত শীঘ্র সম্ভব CocoaPods থেকে মাইগ্রেট করে যান। ২০২৬ সালের অক্টোবর মাসে CocoaPods-এর সহায়তা বন্ধ হয়ে যাওয়ার পরে, আমরা podspec থেকে সরাসরি Firebase ইনস্টল করার জন্য অফিসিয়াল সহায়তা প্রদান করব না। আপনি নিজের পডস্পেক হোস্ট করার বিকল্প বেছে নিলে, সেগুলি আপ-টু-ডেট রাখার দায়িত্ব আপনার।

CocoaPods ডিসেম্বর ২০২৬ পর্যন্ত প্রকাশ করা গেলেও অক্টোবর ২০২৬-এ CocoaPods-এর জন্য সহায়তা বন্ধ করে দেওয়া হচ্ছে কেন?

ডিসেম্বরে রেজিস্ট্রি লক করার আগে CocoaPods-এ প্রকাশিত ফাইনাল ভার্সন যাতে স্থিতিশীল হয় তা নিশ্চিত করতে আমরা অক্টোবর মাস বেছে নিয়েছি। এই টাইমলাইনটি নিরাপদে এই চূড়ান্ত আপডেটগুলি কোঅর্ডিনেট করার জন্য একটি প্রয়োজনীয় সময় দেয় এবং এটি নিশ্চিত করে যে ক্রস-প্ল্যাটফর্ম SDK—যা নেটিভ SDK-এর উপর নির্ভর করে কিন্তু রিলিজ চক্র বিলম্বিত হয়—তাদের নিজস্ব রিলিজ প্রস্তুত করার জন্য প্রচুর সময় আছে।

আমি আপডেট না করলে কি আমার অ্যাপ কাজ করা বন্ধ করে দেবে?

না, এই অবলোপ শুধু Firebase লাইব্রেরির ভবিষ্যতের রিলিজের উপর প্রভাব ফেলে। CocoaPods-এ প্রকাশিত Firebase 12 হল চূড়ান্ত মেজর ভার্সন এবং CocoaPods-এ থাকা বর্তমান ভার্সন (v12 এবং এর আগের ভার্সন) CocoaPods ইকোসিস্টেম কাজ করা চালিয়ে যাওয়া পর্যন্ত ইনস্টল করা ও কাজ করা যাবে।

Does this affect project billing?

না।

Swift Package Manager-এ মাইগ্রেট করার পরে আমার প্রোজেক্ট কম্পাইল করার সময় "FirebaseLibrary খুঁজে পাওয়া যায়নি" সমস্যা হচ্ছে। আমি কীভাবে এটির সমাধান করব?

আপনার Xcode প্রোজেক্টে Firebase প্যাকেজ যোগ করেছেন কিনা তা ভালোভাবে দেখে নিন।

Firebase প্যাকেজ যোগ করার সময়, Xcode আপনাকে Firebase ফ্রেমওয়ার্ক আপনার অ্যাপের বিল্ড টার্গেটে যোগ করার জন্য প্রম্পট করবে। এই ধাপের সময় ফ্রেমওয়ার্ক যোগ করতে ভুলে গেলে, আপনি যেকোনও সময় টার্গেটের সেটিংসে গিয়ে বিল্ড ফেজ > লাইব্রেরির সাথে বাইনারি লিঙ্ক করুন বিকল্পের মধ্যে এটি যোগ করতে পারবেন। আপনার প্রোজেক্টে একাধিক টার্গেট থাকলে, সঠিক টার্গেটে Firebase যোগ করা হয়েছে কিনা তা নিশ্চিত করুন।

এই ট্রানজিশন কি আমার CI/CD পাইপলাইন ভেঙে দেবে?

না, pod install বা pod update-এ চলা পাইপলাইন আগের ভার্সনে কাজ করা চালিয়ে যাবে। তবে, তারা অক্টোবর, ২০২৬-এর পরে প্রকাশিত কোনও নতুন Firebase লাইব্রেরি আপডেট পাবে না।