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

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

এক নজরে

  • কী কী পরিবর্তন করা হচ্ছে? CocoaPods কেবল পঠনযোগ্য মোডে চলে যাচ্ছে। Firebase 12 হল CocoaPods-এ প্রকাশিত চূড়ান্ত মেজর ভার্সন এবং Firebase ২০২৬ সালের অক্টোবর মাসে CocoaPods-এ নতুন ভার্সন প্রকাশ করা বন্ধ করে দেবে।
  • আমার অ্যাপ কি কাজ করা বন্ধ করে দেবে? না। Firebase লাইব্রেরির বর্তমান ভার্সন CocoaPods রেজিস্ট্রিতে উপলভ্য থাকবে এবং CocoaPods ইকোসিস্টেমের সহায়তা যতদিন পাওয়া যাবে, ততদিন CocoaPod-এর সেইসব ভার্সন ব্যবহার করা আপনার অ্যাপ কাজ করতে থাকবে।
  • কেন মাইগ্রেট করবেন? লেটেস্ট ফিচার, পারফর্ম্যান্সের উন্নতি এবং গুরুত্বপূর্ণ সমস্যার সমাধান পাওয়া চালিয়ে যেতে, আপনাকে 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 ডিস্ট্রিবিউশনকে প্রভাবিত করবে যা নেটিভ Firebase Apple SDK-কে র‍্যাপ করে, যার মধ্যে Firebase Unity SDK, Firebase C++ SDK এবং FlutterFire অন্তর্ভুক্ত।

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

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

Swift Package Manager (SPM)

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

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

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

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

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

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

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

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

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

ম্যানুয়ালি ইনস্টল করার অর্থ হল Firebase.zip আর্কাইভ ডাউনলোড করা, যার মধ্যে সব Firebase প্রোডাক্টের জন্য প্রি-কম্পাইল করা XCFrameworks থাকে। এটি আপনাকে ডিপেন্ডেন্সি ম্যানেজার ব্যবহার না করেই নির্দিষ্ট 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 পডের পুরনো ভার্সন ব্যবহার করতে পারেন অথবা GitHub থেকে Firebase পডস্পেক কপি করে আপনার নিজস্ব স্পেক রিপোজিটরিতে হোস্ট করতে পারেন।

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

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

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

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

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

এর ফলে কি প্রোজেক্ট বিলিং প্রভাবিত হয়?

না।

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

আপনার Xcode প্রোজেক্টে Firebase প্যাকেজ যোগ করেছেন কিনা তা নিশ্চিত করুন।

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

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

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