প্রধান মডিউলগুলিতে সুইফ্ট এক্সটেনশন API ব্যবহার করতে মাইগ্রেট করুন

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

কী পরিবর্তন হচ্ছে?

Firebase for Apple SDK 10.17.0 থেকে শুরু করে, Swift এক্সটেনশন SDK-গুলোকে তাদের নিজ নিজ মূল SDK-এর সাথে একীভূত করা হয়েছে। উদাহরণস্বরূপ, FirebaseFirestoreSwift মডিউলের সমস্ত API, FirebaseFirestore এ যোগ করা হয়েছে, তাই সেই API-গুলো অ্যাক্সেস করার জন্য আপনাকে আর FirebaseFirestoreSwift মডিউলটি ইম্পোর্ট করতে হবে না।

যেহেতু সমস্ত সুইফট এক্সটেনশন এখন মূল মডিউলগুলোর অংশ, তাই এক্সটেনশন SDK-গুলোর আর প্রয়োজন নেই এবং এগুলো অপ্রচলিত (deprecated) হিসেবে গণ্য। সুইফট এক্সটেনশন SDK-গুলো অন্তর্ভুক্ত বা ব্যবহার করলে একটি কম্পাইলার সতর্কবার্তা (compiler warning) দেখা দেবে এবং ২০২৪ সালের ফেব্রুয়ারি মাস থেকেই আমরা সুইফট এক্সটেনশনগুলোর প্রকাশ সম্পূর্ণরূপে বন্ধ করে দেব।

★ দ্রষ্টব্য: সুইফট এক্সটেনশনগুলির বর্তমানে বা পূর্বে প্রকাশিত যেকোনো সংস্করণ কাজ করতে থাকবে। তবে, আমরা আপনাকে মূল মডিউল থেকে সুইফট এপিআই (Swift APIs) ব্যবহার করার জন্য আপনার অ্যাপটি মাইগ্রেট করার পরামর্শ দিচ্ছি, যাতে আপনি নিয়মিত ফিক্স পেতে থাকেন এবং পরিবর্তন ও নতুন ফিচারগুলির সুবিধা নিতে পারেন।

এই পরিবর্তনের জন্য গুরুত্বপূর্ণ তারিখগুলো

২০২৩ সালের অক্টোবরে

সুইফট এক্সটেনশন SDK-গুলোকে মূল SDK-গুলোর সাথে একীভূত করা হয়েছে এবং পরবর্তীতে মূল SDK-গুলোর অনুকূলে সেগুলোকে অপ্রচলিত ঘোষণা করা হয়েছে। এই পরিবর্তনটি ঘোষণা করার জন্য সংস্করণ 10.17.0-এর রিলিজ নোট দেখুন।

এখন আপনি মূল SDK মডিউলগুলো থেকে সরাসরি সুইফট এক্সটেনশন SDK API-গুলো ব্যবহার করতে পারবেন। পরবর্তী প্রধান সংস্করণ প্রকাশিত না হওয়া পর্যন্ত এক্সটেনশন SDK-গুলোর ব্যবহার সম্ভব থাকবে, কিন্তু ব্যবহারের সময় একটি ডেপ্রিকেশন সতর্কতা দেখানো হবে।

২০২৪ সালের ফেব্রুয়ারী মাসের শুরুতেই

আমরা সুইফট এক্সটেনশনগুলোর নতুন সংস্করণ প্রকাশ করা বন্ধ করে দেব এবং ফায়ারবেসের Package.swift থেকে সুইফট এক্সটেনশনগুলো সরিয়ে ফেলব। পুরোনো সংস্করণগুলো কাজ করতে থাকবে কিন্তু কোনো আপডেট পাবে না।

প্রধান মডিউল থেকে সুইফট-নেটিভ এপিআই ব্যবহার করার জন্য কীভাবে মাইগ্রেট করবেন

আপনি যদি বর্তমানে সুইফট এক্সটেনশন এসডিকে ব্যবহার না করেন, তবে কোনো পদক্ষেপ নেওয়ার প্রয়োজন নেই। যদি আপনি সুইফট এক্সটেনশন এসডিকে ব্যবহার করেন, তবে আপনার প্রোজেক্টে নিম্নলিখিত পরিবর্তনগুলি করুন।

কর্মক্ষেত্রের পরিবর্তন

সুইফট প্যাকেজ ম্যানেজার

Firebase সংস্করণ 10.17.0+ এ আপডেট করার পর, আপনার টার্গেটের সেটিংসের General ট্যাবের Frameworks, Libraries, and Embedded Content বিভাগে যান এবং Swift এক্সটেনশন SDK (যেমন FirebaseFirestoreSwift ) সরিয়ে ফেলুন।

কোকোপড

Firebase সংস্করণ 10.17.0+ এ আপডেট করার পর, আপনার Podfile-এ যান এবং আপনার টার্গেটের জন্য ফ্রেমওয়ার্ক সেকশন যোগ করার ক্ষেত্রে প্রোজেক্টের নির্ভরতার সাথে সম্পর্কিত লাইনটি মুছে ফেলুন এবং Swift এক্সটেনশন SDK সরিয়ে দিন (যেমন pod FirebaseFirestoreSwift )। তারপর, pod install কমান্ডটি পুনরায় চালান।

জিপ বিতরণ এবং কার্থেজ

Firebase সংস্করণ 10.17.0+ এ আপডেট করার পর, আপনার প্রোজেক্ট থেকে যেকোনো Swift এক্সটেনশন xcframeworks (যেমন FirebaseFirestoreSwift.xcframework ) সরিয়ে ফেলুন।

সোর্স কোড পরিবর্তন

আপনার পূর্বে ব্যবহৃত সমস্ত সুইফট এক্সটেনশন SDK-গুলোর জন্য নিম্নলিখিত পদক্ষেপগুলো গ্রহণ করুন:

  1. Swift এক্সটেনশন SDK-কে উল্লেখ করে এমন যেকোনো ইম্পোর্ট স্টেটমেন্ট মুছে ফেলুন। যদি মূল SDK আলাদাভাবে ইম্পোর্ট করা না হয়ে থাকে, তাহলে লাইনের শেষে থাকা Swift মুছে দিয়ে Swift এক্সটেনশন ইম্পোর্টটিকে মূল SDK ইম্পোর্ট দিয়ে প্রতিস্থাপন করতে হবে।
  2. আপনি যদি কোনো সুইফট এক্সটেনশন SDK টাইপ রেফারেন্স করার জন্য সুইফটের এক্সপ্লিসিট-মডিউল নেমস্পেসিং ব্যবহার করে থাকেন, তাহলে আপনাকে সেগুলোকে সংশ্লিষ্ট মূল SDK দিয়ে প্রতিস্থাপন করতে হবে। উদাহরণস্বরূপ, FirebaseFirestoreSwift.QueryPredicate কে রিনেম করে FirebaseFirestore.QueryPredicate করতে হবে।