xcode - এক্সকোড প্রকল্প বনাম এক্সকোড ওয়ার্কস্পেস-পার্থক্য



(3)

আমার মনে হয় প্রকল্প কাঠামোর বিষয়ে আপনার প্রয়োজনীয় তিনটি কী আইটেম রয়েছে: লক্ষ্য, প্রকল্প এবং কর্মক্ষেত্রলক্ষ্যগুলি কীভাবে একটি পণ্য / বাইনারি (অর্থাত্, একটি অ্যাপ্লিকেশন বা লাইব্রেরি) তৈরি হয় তা বিস্তারিতভাবে উল্লেখ করে। এতে কম্পাইলার এবং লিঙ্কার ফ্ল্যাগগুলির মতো বিল্ড সেটিংস অন্তর্ভুক্ত রয়েছে এবং তারা কোনও ফাইল (সোর্স কোড এবং সংস্থান) আসলে কোন পণ্য সম্পর্কিত তা সংজ্ঞায়িত করে। যখন আপনি নির্মাণ / চালান, আপনি সর্বদা একটি নির্দিষ্ট লক্ষ্য নির্বাচন করুন।

সম্ভবত আপনার কয়েকটি লক্ষ্য রয়েছে যা কোড এবং সংস্থান ভাগ করে নেবে। এই বিভিন্ন লক্ষ্যগুলি একটি অ্যাপ্লিকেশনের সামান্য ভিন্ন সংস্করণ হতে পারে (আইপ্যাড / আইফোন, বিভিন্ন ব্র্যান্ডিং, ...) বা পরীক্ষার ক্ষেত্রে যা স্বাভাবিকভাবে একই উৎস ফাইলগুলির অ্যাক্সেস অ্যাক্সেস করতে হবে। এই সমস্ত সম্পর্কিত লক্ষ্য একটি প্রকল্পে গ্রুপ করা যাবে । প্রকল্পটি তার সমস্ত লক্ষ্য থেকে ফাইলগুলি ধারণ করে, প্রতিটি লক্ষ্য প্রাসঙ্গিক ফাইলগুলির নিজস্ব উপসেট চয়ন করে। একই নির্মাণের জন্য যায়: আপনি প্রকল্পে ডিফল্ট প্রকল্প-প্রশস্ত সেটিংস সংজ্ঞায়িত করতে পারেন, তবে আপনার লক্ষ্যগুলির একটিতে বিভিন্ন সেটিংসের প্রয়োজন হলে, আপনি সেগুলি সর্বদা ওভাররাইড করতে পারেন:

ভাগ করা প্রকল্প সেটিংস যা সমস্ত লক্ষ্যগুলি উত্তরাধিকারী হয়, যতক্ষণ না তারা ওভাররাইড করে

কংক্রিট লক্ষ্য সেটিংস: PSE আইফোন প্রকল্পটির Base SDK সেটিংকে ওভাররাইড করে

এক্সকোড-এ, আপনি সর্বদা প্রকল্পগুলি (বা কর্মক্ষেত্রগুলি, কিন্তু লক্ষ্যগুলি না) খুলুন এবং এতে থাকা সমস্ত লক্ষ্যগুলি নির্মিত / চালানো যেতে পারে তবে একটি প্রকল্প নির্মাণের কোন উপায় / সংজ্ঞা নেই, তাই প্রতিটি প্রকল্পের জন্য অন্তত একটি লক্ষ্যের প্রয়োজন শুধু ফাইল এবং সেটিংস একটি সংগ্রহের চেয়ে বেশি হতে।

চালানোর জন্য প্রকল্পের একটি লক্ষ্য নির্বাচন করুন

অনেক ক্ষেত্রে, প্রকল্প আপনি প্রয়োজন হয়। আপনি যদি উত্স থেকে তৈরি যে নির্ভরতা আছে, আপনি এটি একটি সাবপ্রজেক্ট হিসাবে এম্বেড করতে পারেন। Subprojects আলাদাভাবে বা তাদের সুপার প্রকল্পের মধ্যে খোলা যাবে।

demoLib একটি subproject হয়

আপনি যদি সুপার প্রজেক্টের নির্ভরতাগুলিতে সাবপ্রজেক্টের লক্ষ্যগুলির একটি যোগ করেন তবে এটি স্বয়ংক্রিয়ভাবে নির্মিত হবে না যতক্ষণ না এটি অপরিবর্তিত থাকে। এখানে সুবিধাটি হল যে আপনি একই প্রকল্পে আপনার প্রকল্প এবং আপনার নির্ভরতাগুলির ফাইলগুলি একই এক্সকোড উইন্ডোতে সম্পাদনা করতে পারেন এবং যখন আপনি তৈরি / চালান করেন, তখন আপনি প্রকল্পের এবং তার সাবপ্রोजेেকগুলির লক্ষ্যগুলি থেকে নির্বাচন করতে পারেন:

তবে, যদি আপনার লাইব্রেরি (সাব প্রজেক্ট) অন্যান্য বিভিন্ন প্রকল্পের (অথবা তাদের লক্ষ্যগুলি, সুনির্দিষ্ট হতে) দ্বারা ব্যবহার করা হয়, এটি একই শ্রেণীকক্ষ স্তরের উপরে রাখা মানে - এটি কি কার্যক্ষেত্রগুলির জন্য। ওয়ার্কস্পেসগুলি প্রকল্পগুলি ধারণ করে এবং পরিচালনা করে এবং সরাসরি যে সমস্ত প্রকল্পগুলি সরাসরি অন্তর্ভুক্ত করে (অর্থাৎ, তাদের সাবপ্রোজেক্টগুলি নয়) একই স্তরে থাকে এবং তাদের লক্ষ্যগুলি একে অপরের উপর নির্ভর করে (প্রকল্পগুলির লক্ষ্যগুলি সাবপ্রोजेেকের লক্ষ্যগুলিতে নির্ভর করে, তবে বিপরীত নয়)।

ওয়ার্কস্পেস গঠন

এই উদাহরণে, উভয় অ্যাপ্লিকেশনগুলি ( অন্য অ্যাপ্লিকেশন / প্রকল্প গঠন উদাহরণ) ডেমোলোব প্রকল্পের লক্ষ্যগুলি উল্লেখ করতে পারে। এটি অন্য প্রোজেক্টগুলির একটি ডেমনলাইট প্রকল্প সহ একটি উপ- প্রজেক্ট হিসাবে অন্তর্ভুক্ত করা সম্ভব (যা শুধুমাত্র একটি রেফারেন্স, তাই কোন সদৃশ প্রয়োজন নেই), তবে যদি আপনার প্রচুর ক্রস-নির্ভরতা থাকে তবে ওয়ার্কস্পেসগুলি আরও বেশি জ্ঞানযুক্ত করে। যদি আপনি একটি ওয়ার্কস্পেস খুলেন তবে বিল্ডিং / চলমান অবস্থায় আপনি সমস্ত প্রকল্পগুলির লক্ষ্যগুলি থেকে চয়ন করতে পারেন।

আপনি এখনও আপনার প্রকল্প ফাইলগুলি আলাদাভাবে খুলতে পারেন, তবে সম্ভবত এটির লক্ষ্যগুলি তৈরি হবে না কারণ এক্সকোড নির্ভরতা সমাধান করতে পারে না যদি না আপনি ওয়ার্কস্পেস ফাইলটি খুলেন। ওয়ার্কস্পেসগুলি আপনাকে সাবপ্রজেক্টগুলির মতো একই সুবিধা দেয়: একবার নির্ভরতা পরিবর্তিত হলে, এটি আপ-টু-ডেট নিশ্চিত হওয়ার জন্য এক্সকোড এটি পুনর্নির্মাণ করবে (যদিও আমার কাছে কিছু সমস্যা রয়েছে তবে এটি নির্ভরযোগ্যভাবে কাজ বলে মনে হচ্ছে না)।

একটি সংক্ষিপ্ত বিবরণ আপনার প্রশ্ন :

1) প্রকল্পগুলির মধ্যে ফাইলগুলি (কোড / পুনরুদ্ধার), সেটিংস এবং লক্ষ্যগুলি রয়েছে যা সেই ফাইল এবং সেটিংস থেকে পণ্যগুলি তৈরি করে। ওয়ার্কস্পেসে এমন প্রকল্প রয়েছে যা একে অপরের রেফারেন্স করতে পারে।

2) উভয় আপনার সামগ্রিক প্রকল্পের গঠন, কিন্তু বিভিন্ন স্তরের জন্য দায়ী।

3) আমি মনে করি বেশিরভাগ ক্ষেত্রে প্রকল্প যথেষ্ট। একটি নির্দিষ্ট কারণ আছে না হওয়া পর্যন্ত workspaces ব্যবহার করবেন না। প্লাস, আপনি সর্বদা আপনার প্রকল্পের পরে একটি ওয়ার্কস্পেসে এম্বেড করতে পারেন।

4) আমি মনে করি উপরের লেখাটি কিসের জন্য ...

3 এর জন্য একটি মন্তব্য আছে): কোকোপডস , যা স্বয়ংক্রিয়ভাবে আপনার জন্য তৃতীয় পক্ষের লাইব্রেরি পরিচালনা করে, কর্মক্ষেত্রগুলি ব্যবহার করে। সুতরাং, আপনি CocoaPods (যা অনেক মানুষ করে) ব্যবহার করার সময়, আপনি তাদের ব্যবহার করতে হবে।

https://ffff65535.com

আমি কিভাবে iOS পুরো বাস্তুতন্ত্র কাজ করে বুঝতে চেষ্টা করছি।
এখন পর্যন্ত, আমি আমার বেশিরভাগ প্রশ্নগুলির উত্তর খুঁজে পাচ্ছি (এবং আমাকে বিশ্বাস করুন, তাদের অনেকগুলি হয়েছে), কিন্তু এর জন্য এখনও পর্যন্ত কোনও স্পষ্ট উত্তর পাওয়া যাচ্ছে না।

XcodeProject এবং XcodeWorkspace ফাইলগুলির মধ্যে পার্থক্য কী?

  1. তাদের মধ্যে পার্থক্য কি?
  2. তারা কিসের জন্য দায়ী?
  3. আমি তাদের মধ্যে কোনটি কাজ করবো যখন আমি আমার অ্যাপ্লিকেশানগুলিকে টিম / একা একা বিকাশ করবো?
  4. এই দুটি ফাইলের বিষয়ে আমি কি সচেতন থাকব?

একটি কর্মক্ষেত্র প্রকল্প একটি সংগ্রহ। যখন তাদের মধ্যে সম্পর্ক থাকে তখন আপনার প্রোজেক্টগুলি সংগঠিত করা (যেমনঃ প্রকল্প A লাইব্রেরী অন্তর্ভুক্ত করে, যা প্রকল্প প্রজেক্ট হিসাবে নিজেকে প্রজেক্ট হিসাবে সরবরাহ করা হয়। যখন আপনি ওয়ার্কস্পেস প্রকল্প B নির্মাণ করেন এবং প্রকল্প A তে সংকলিত হয়)।
জনপ্রিয় CocoaPods একটি ওয়ার্কস্পেস ব্যবহার করা সাধারণ। যখন আপনি আপনার পডগুলি ইনস্টল করেন, তখন এটি একটি কর্মক্ষেত্রের ভিতরে স্থাপন করা হয়, যা আপনার প্রকল্প এবং পড লাইব্রেরিগুলি ধারণ করে।


সংক্ষেপে

  • এক্সকোড 3টি সাব প্রজেক্ট চালু করেছে, যা পিতামাতা-সন্তানের সম্পর্ক, অর্থাত যে পিতা-মাতা তার সন্তানের লক্ষ্য উল্লেখ করতে পারে, কিন্তু এর বিপরীত কোনও বিষয় নেই
  • এক্সকোড 4 ওয়ার্কস্পেস চালু করেছে, যা ভাইবোন সম্পর্ক, যার মানে কোনও প্রকল্প একই কর্মক্ষেত্রে প্রকল্পগুলি উল্লেখ করতে পারে




xcode