iOS ডেভেলপাররা ইতিমধ্যে ডেভেলপমেন্ট, QA, বেটা, এবং প্রোডাকশন gibi বিভিন্ন এনভায়রনমেন্ট ম্যানেজ করার বিষয়ে জানেন। এই বিভিন্ন এনভায়রনমেন্টের জন্য আলাদা সার্ভার URL, অ্যাপ আইকন, এবং কনফিগারেশন থাকে।
সেজন্য একটি নির্দিষ্ট এনভায়রনমেন্টের দিকে পয়েন্ট করে নতুন বিল্ড তৈরি করার আগে, আমাদের মনে রাখতে হয় যে সার্ভার URL-ও পরিবর্তন করতে হবে। আমরা কনস্ট্যান্ট ফাইলে হার্ডকোডেড ফ্ল্যাগ ভ্যালু পরিবর্তন করে বা ম্যাক্রোস ব্যবহার করে এটি করতে পারি, কিন্তু এতে সব কিছু জটিল হয়ে যায়।
কিন্তু একটু চিন্তা করলে আমরা একটি আইডিয়া পেতে পারি। এবং এই আইডিয়া প্রয়োগ করলে যেকোনো সিনেরিও হ্যান্ডেল করা সহজ হয়। আইডিয়াটি হলো, যদি আমরা আলাদা স্কিমা এবং কনফিগারেশন তৈরি করি, তবে এটি আমাদের অ্যাপ্লিকেশন সার্ভার URL, অ্যাপ আইকন, Plist ফাইল, এবং কনফিগারেশন পরিবর্তন করার অনুমতি দেয়।
এই টিউটোরিয়ালে আমি দেখাবো কিভাবে স্কিমা এবং কনফিগারেশন ব্যবহার করে বিভিন্ন এনভায়রনমেন্ট ম্যানেজ করা যায়।
এই ধাপগুলো:
প্রজেক্ট সেটআপ:
XCode খুলুন এবং একটি উপযুক্ত নামের সাথে নতুন সিঙ্গল ভিউ অ্যাপ্লিকেশন তৈরি করুন।
স্কিমা এবং কনফিগারেশন যোগ করুন:
স্কিমা যোগ করার আগে জানতে হবে যে প্রতিটি XCode স্কিমা দুটি বিল্ড কনফিগারেশনের সাথে আসে: Debug এবং Release. যদি চাইм তবে একটি নির্দিষ্ট বিল্ড কনফিগারেশনের জন্য পরিবর্তন করতে পারি।
আমাদের বিল্ড কনফিগারেশন যোগ করার জন্য, বাম পাশের Project Navigator পেনে প্রজেক্ট সিলেক্ট করুন। তারপর দুটি অপশন (Info এবং Build Settings) থেকে Info সিলেক্ট করুন। Configurations-এ আমাদের পাঁচটি এনভায়রনমেন্ট (Development, Production, QA, Beta, এবং UAT) 위한 নিজস্ব কনফিগারেশন যোগ করতে হবে।

প্রথমে Debug এ ডাবল ক্লিক করে এটি Debug (Development) রূপে রিনেম করুন। একইভাবে Release এ ডাবল ক্লিক করে Release (Development) রূপে রিনেম করুন। এখন + বাটনে ক্লিক করুন, এবং Duplicate Debug (Development) এবং Duplicate Release (Development), সিলেক্ট করুন, তারপর ডুপ্লিকেট এনভায়রনমেন্টের নাম অন্যদের সাথে পরিবর্তন করুন।

স্কিমা তৈরি করার জন্য, XCode-র উপরের বাম কোণার ম্যানেজ স্কিমাতে যান। সেখানে আপনি দেখবেন একটি স্কিমা ইতিমধ্যে আছে। এটি Development — রূপে রিনেম করুন - অথবা বিদ্যমানটি ডিলিট করে Development নামে একটি নতুন যোগ করুন। তারপর বাকি চারটি এনভায়রনমেন্টের জন্য স্কিমা যোগ করুন।

ভুলবেন না, সেখানে শেয়ার বক্স চেক করা আছে কিনা। সকল স্কিমা যোগ করার পর ম্যানেজ স্কিমা স্ক্রিনটি এভাবে দেখাবে:

কনফিগারেশন সেটিংস ফাইল যোগ করুন:
প্রজেক্টে রাইট ক্লিক করুন, নতুন ফাইল সিলেক্ট করুন, তারপর Configuration Settings File যোগ করুন এবং এনভায়রনমেন্টের মতো একই নাম দিন।

সকল কনফিগারেশন ফাইল যোগ করার পর আপনার Project Navigator বাম পেনে এভাবে দেখাবে:

এখন সবচেয়ে গুরুত্বপূর্ণ অংশ শুরু: আপনার সার্ভার URL এবং অন্যান্য কাস্টমাইজড কি-ভ্যালু সংশ্লিষ্ট কনফিগারেশন ফাইলে যোগ করুন।

Plist ফাইল যোগ করুন:
info.plist ফাইলকে development.plist হিসেবে রিনেম করুন। একই plist ফাইল কপি-পেস্ট করে প্রজেক্টের ভিতরে বিভিন্ন এনভায়রনমেন্টের জন্য রাখুন, এবং প্রতিটি plist ফাইলকে এনভায়রনমেন্টের নাম দিয়ে রিনেম করুন। আপনি plist ফাইলগুলিতে কিছু এনভায়রনমেন্ট-স্পেসিফিক কি এবং ভ্যালু সেট করতে পারেন। তারপর কনফিগারেশন ফাইল থেকে কিগুলো plist ফাইলগুলিতে এইভাবে যোগ করুন:

এখন প্রতিটি বিল্ড কনফিগারেশনের জন্য উপযুক্ত plist পাথ সেট করতে হবে। Targets থেকে, শুধু একটি plist ফাইল সিলেক্ট করুন, এবং Debug এবং Release কনফিগারেশনের জন্য একই নামে রিনেম করুন।


বিল্ড কনফিগারেশন কনফিগারেশন ফাইলের সাথে লিংক করুন:
Projects Info-এ সকল বিল্ড কনফিগারেশন (Debug এবং Release) একে একে সিলেক্ট করুন। তারপর আপনার প্রজেক্টে যোগ করা উপযুক্ত কনফিগারেশন ফাইল সেট করুন।

সকল কনফিগারেশন ফাইল যোগ করার পর আপনার Build settings এভাবে দেখাবে:

সেজন্য আমরা সফলভাবে সকল কনফিগারেশন ফাইলকে সংশ্লিষ্ট বিল্ড কনফিগারেশনের সাথে লিংক করেছি।
স্কিমা বিল্ড কনফিগারেশনের সাথে লিংক করুন:
এখন শেষ ধাপ: স্কিমা বিল্ড কনফিগারেশনের সাথে লিংক করা। এটি করতে, যেকোনো স্কিমা সিলেক্ট করুন, এডিট স্কিমাতে যান, এবং 거기 উপযুক্ত বিল্ড কনফিগারেশন সেট করুন।

প্রজেক্ট রান করার জন্য প্রস্তুত:
এখন সেটআপ সম্পন্ন। আপনার করতে হবে শুধু স্কিমা সিলেক্ট করে রান করা - এনভায়রনমেন্ট আপনাকারে স্বয়ংক্রিয়ভাবে সিলেক্ট হয়ে যাবে। সার্ভার URL এবং অন্যান্য ভ্যালু ফেচ করার জন্য আমি একটি Environment.swift ফাইল তৈরি করেছি। চেক করুন:
ViewController.Swift বা অন্য যেকোনো ফাইলে সার্ভার URL বা অন্যান্য সেটিং ফেচ করতে আপনাকে শুধু এক লাইন কোড লিখতে হবে:
বিল্ড সেটিংস থেকে আপনি বিভিন্ন এনভায়রনমেন্টের জন্য আলাদা অ্যাপ আইকনও ম্যানেজ করতে পারেন। তারপর, আপনার ডিভাইসে কোন এনভায়রনমেন্ট বিল্ড ইনস্টল করা আছে তা এক সেকেন্ডে দেখে বুঝতে পারবেন।

সম্পূর্ণ প্রজেক্ট GitHub-এ উপলব্ধ। আপনার কোনো প্রশ্ন থাকলে ডাউনলোড করুন।
প্রতিবার প্রজেক্ট বিল্ড করার সময় সার্ভার URL বা অন্য কোনো কনফিগারেশন পরিবর্তন করতে অতিরিক্ত সময় ব্যয় করবেন না। এটি বিভিন্ন এনভায়রনমেন্ট, অ্যাপ আইকন, এবং কনফিগারেশন ম্যানেজ করার সবচেয়ে সহজ উপায়।
যদি আপনার পছন্দ হয়, দয়া করে ক্ল্যাপ দিতে ভুলবেন না। এটি আমাকে আরও অনুপ্রেরণা দেবে। যেকোনো সাজেশনের জন্য mail2boudhayan@gmail.com ইমেইল করুন।