মাচ-ও ফাইল ফর্ম্যাট (মাচ অবজেক্ট - .o)
আইওএস দুনিয়াতে প্রতিটি উত্স ফাইলকে অবজেক্ট ফাইলে রূপান্তর করা হয় - এবিআই [সম্পর্কে] মাচ-ও ফাইল [সম্পর্কে] যা একটি চূড়ান্ত সম্পাদনযোগ্য বান্ডেল (যেমন অ্যাপ্লিকেশন, ফ্রেমওয়ার্ক ...), ফাইল (যেমন লাইব্রেরি ...) হিসাবে প্যাকেজ হয়ে থাকবে) এবং এর আচরণটি [সম্পর্কে] দ্বারা নির্ধারিত হয়Mach-O type
Packageএকটি ডিরেক্টরি যা নিজেকে ফাইল হিসাবে আচরণ করে - opaque file। এটি ব্যবহারকারীর অভিজ্ঞতার জন্য অভ্যন্তরীণ কাঠামোয় কিছু পরিবর্তন আনাকে জটিল করার জন্য তৈরি করা হয়েছিল যা অনাকাঙ্ক্ষিত প্রোগ্রামের আচরণের কারণ হতে পারে। প্যাকেজটি এ Document Packageবা এর সাথে ব্যবহৃত হয় Bundle। আপনি Show Package Contentsএকটি ফাইন্ডার ব্যবহার করতে পারেন
Bundleসেই কোডের জন্য বাইনারি (এক্সিকিউটেবল কোড) এবং সংস্থানগুলি (যেমন চিত্র, নিবস ...) সংগঠিত করার জন্য একটি নির্দিষ্ট কাঠামোর একটি ডিরেক্টরি is বান্ডলে Info.plist[সম্পর্কে] ফাইল রয়েছে। বান্ডেলটি বিকাশকারীদের অভিজ্ঞতার জন্য তৈরি করা হয়েছিল । এছাড়াও এটি প্যাকেজ করা যেতে পারে। বিভিন্ন ধরণের বান্ডিল রয়েছে:
application bundle - Application target
framework bundleএবং versioned bundleএকটি সাব টাইপ হিসাবে -Framework Target
loadable bundle(ওরফে plug-in bundle) - Bundle target(ইউআই টেস্টিং বান্ডেল, ইউনিট টেস্টিং বান্ডেল)
- অন্যরা (
dSYM[প্রায়] বান্ডিল)
Application- .ipa, .app[সম্পর্কে] - packaged application bundle- লঞ্চযোগ্য প্রোগ্রাম।
Tests- packaged loadable bundleযা বাইনারি পরীক্ষা করতে ব্যবহৃত হয়। প্লাগ-ইন আর্কিটেকচার আমাদের বিদ্যমান বাইনারিগুলিতে পৃথক মডিউল হিসাবে একটি নতুন কার্যকারিতা (পরীক্ষার কেস) যুক্ত করতে দেয়
গ্রন্থাগার ও ফ্রেমওয়ার্ক
ইনভার্জনওফকন্ট্রোল-এ মার্টিন ফওলার
একটি লাইব্রেরি মূলত ফাংশনগুলির একটি সেট যা আপনি কল করতে পারেন, এই দিনগুলিতে সাধারণত শ্রেণিতে ভাগ করা হয়। প্রতিটি কল কিছু কাজ করে এবং ক্লায়েন্টকে নিয়ন্ত্রণ ফিরিয়ে দেয়।
ফ্রেমওয়ার্কটিতে কিছু বিমূর্ত নকশা তৈরি করা হয়েছে, এতে আরও আচরণ অন্তর্নিহিত রয়েছে it এটি ব্যবহার করার জন্য আপনাকে ফ্রেমওয়ার্কের বিভিন্ন জায়গায় আপনার আচরণটি সাবক্লাসিং বা নিজের ক্লাসে প্লাগ করে sertোকানো দরকার। ফ্রেমওয়ার্কের কোডগুলি তখন আপনার পয়েন্টগুলিতে এই কোডগুলিতে কল করে। প্রোগ্রামটির প্রধান নিয়ন্ত্রণটি উল্টানো হয়, আপনার থেকে কাঠামোর দিকে সরানো হয়। (নিয়ন্ত্রণ বিপর্যয়)
আইওএসে গ্রন্থাগার ও ফ্রেমওয়ার্ক
Libraryএক বা একাধিক আর্কিটেকচারের জন্য সংকলিত মাচ-ও অবজেক্ট ফাইলের [স্ট্যাটিক বা ডায়নামিক চেক] সংকলন।
Static library- .a(ওরফে স্ট্যাটিক সংরক্ষণাগার গ্রন্থাগার, স্ট্যাটিক ভাগ লিঙ্ক গ্রন্থাগার [ডক] ) - যখন আপনি আপনার আবেদন মধ্যে এটি যোগ স্ট্যাটিক linker সময় সংকলন সময় লাইব্রেরি থেকে অবজেক্ট ফাইলগুলি একত্রীকরণ এবং এক এক্সিকিউটেবল মধ্যে আবেদন অবজেক্ট ফাইলগুলি সহ তাদের প্যাকেজ হবে ফাইল। অসুবিধাটি একটি বড় আউটপুট ফাইল
এক্সকোড 9.0 থেকে, সুইফট স্ট্যাটিক লাইব্রেরি সমর্থিত।
Dynamic library- .dylib(ওরফে ডায়নামিক শেয়ার্ড লাইব্রেরি, শেয়ার করা অবজেক্ট, ডায়নামিকালি লিঙ্কড লাইব্রেরি [ডক] ) অ্যাপ্লিকেশনটির লোড বা রানটাইমের সময় কার্যকর হওয়ার সাথে গতিশীলভাবে সংযুক্ত , তবে এতে অনুলিপি করা হয়নি। অনুশীলন অন অ্যাপের প্যাকেজে ফাইল সহ ফ্রেমওয়ার্ক ফোল্ডার থাকবে । সমস্ত আইওএস এবং ম্যাকোস সিস্টেম লাইব্রেরি । অসুবিধা হ'ল ধীরে ধীরে প্রবর্তন সময় যেহেতু সমস্ত গতিশীল লাইব্রেরি অনুলিপি করা এবং লিঙ্ক করা উচিত।.dylibdynamic
[স্থির বনাম গতিশীল সংযোগ]
Text-based stub library- .tbd[সম্পর্কে] , এটি একটি পাঠ্য স্টাব dynamic libraryযা একটি লক্ষ্য ডিভাইসে অবস্থিত। ফলস্বরূপ আপনার বান্ডলে কোনও গতিশীল লাইব্রেরি প্যাকেজ করা উচিত নয়। এটি একটি আকার প্রভাব আছে।
Frameworkওরফে binary framework- .frameworkহ'ল একটি not packaged framework bundle(বিকাশকারীদের সহজেই শিরোনাম এবং সংস্থানসমূহের দিকে নজর দেওয়ার জন্য) যাতে একটি সংকলিত static or dynamicগ্রন্থাগার, শিরোনামের ফাইল এবং সংস্থান রয়েছে।
Static frameworkstatic libraryএর সংস্থানগুলি সহ একটি প্যাকেজ ধারণ করুন ।
Dynamic frameworkdynamic libraryসংস্থান এবং সংস্থান রয়েছে । এগুলি ছাড়াও, গতিশীল কাঠামোয় একই ডায়নামিক লাইব্রেরির বিভিন্ন সংস্করণকে একটি একক বান্ডেলে অন্তর্ভুক্ত করতে পারে ( versioned bundle)
[স্ট্যাটিক বনাম গতিশীল কাঠামো]
Embedded frameworkএটি dynamic frameworkএমনটি যা অ্যাপের স্যান্ডবক্সে থাকে। সাধারণ কোড এবং সংস্থানগুলি ভাগ করে নেওয়ার জন্য এই প্রকারটি সবার আগে তৈরি করা হয়েছিল extension এটি যখন ডিপ্লোয়মেন্ট টার্গেট আইওএস 8+ থাকে তখন এটি উপলব্ধ।
Umbrella framework [সমষ্টিগত লক্ষ্য] এমন একটি কাঠামো যা অন্যান্য ফ্রেমওয়ার্কগুলি ধারণ করে। এটি আইওএসে আনুষ্ঠানিকভাবে সমর্থিত নয় এবং এ কারণেইবিকাশকারীদের তাদের [অফিসিয়াল ডক] তৈরি করার পরামর্শ দেওয়া হয় না । বাস্তবে এটি উপ-ফ্রেমওয়ার্ক (বা নেস্টেড ফ্রেমওয়ার্কস) এর একটি সেট। যখন আপনি একটি কাঠামো তৈরি করেন যার নির্ভরতা থাকে, তখন কোনও গ্রাহক (যেমন একটি অ্যাপ্লিকেশন) আপনার কাঠামোর পাশাপাশি প্রকল্পের সাথে এই নির্ভরতা যুক্ত করার জন্য দায়ী। একজন বিকাশকারী হিসাবে, ভোক্তা থেকে আপনার দায়িত্বের প্রতি এই দায়িত্ব স্থানান্তর করার কোনও উপায় অনুসন্ধান করার চেষ্টা করা স্বাভাবিক। ফলস্বরূপ আপনি মনে করেন যেএটি উদ্ধার তবে সাধারণত এটি সংস্করণগুলি পরিচালনা এবং এটি তৈরি এবং সমর্থন করার জটিলতার সাথে একটি গুরুতর সমস্যা নিয়ে আসে।Umbrella framework
Fake Framework- এটি এক্সটেনশন static libraryসহ একটি বান্ডিল তৈরির জন্য নির্দিষ্ট অপারেশনের ফলাফল .frameworkযা নিজেকে হিসাবে হিসাবে আচরণ করবে dynamic framework। এই টেকনিকটি তখন ব্যবহার করা হয়েছিল যখন কোনও ফ্রেমওয়ার্ক টেম্পলেট না থাকায় এক্সকোড কোনও কাঠামো তৈরি করা সমর্থন করে না। একটি জাল কাঠামোর উপলব্ধি । এক্সকোড 6 এর সাহায্যে অ্যাপল আইওএস ফ্রেমওয়ার্ক সমর্থন যুক্ত করেছে।
Modular Framework[সম্পর্কে] -@importএটি এমন একটি কাঠামো যা.modulemapভিতরেএকটিফাইল থাকে। মডিউলটিতে সাবমডিউল থাকতে পারে। প্রধান সুবিধা হ'ল আপনি একটি বিল্ড সময় সাশ্রয় করুনModular Framework।
Universal Library or Framework(ওরফে ফ্যাট) [লিপো] [সমষ্টি লক্ষ্য] একাধিক আর্কিটেকচার ধারণ করে। উদাহরণস্বরূপ আপনার রিলিজ বিল্ডে এমন কিছু খিলানকে সমর্থন করা উচিত যা আপনি [কেবলমাত্র_অ্যাকটিভিউ মার্চ] এর মাধ্যমে নিয়ন্ত্রণ করতে পারবেনBuild Active Architecture Only
Dependency[সম্পর্কে] আপনি আপনার টার্গেটের অংশ হিসাবে তৃতীয় পক্ষের কোডটি ব্যবহার করতে সক্ষম। এটি আপনাকে প্রচুর উত্স থেকে কোড পুনরায় ব্যবহার করতে সহায়তা করে - অন্য প্রকল্প, একই কর্মক্ষেত্রের প্রকল্প, অন্য লক্ষ্য, গ্রন্থাগার, ফ্রেমওয়ার্ক ইত্যাদি from
স্ট্যাটিক লাইব্রেরি কীভাবে তৈরি এবং ব্যবহার করবেন:
কীভাবে ডায়নামিক ফ্রেমওয়ার্ক তৈরি এবং ব্যবহার করতে হয় [ স্থিতিতে পরিবর্তন]
[এক্সকোড বিল্ড সিস্টেম]
[এক্সকোড উপাদানগুলি]
[গতিশীল লিংক]