CocoaPods Trunk: এটি কী, Trunk এর মাধ্যমে লাইব্রেরি প্রকাশ করা

লেখক: IT Sectr প্রকাশিত: 2026-02-13 পড়ার সময়: 9 মিনিট

CocoaPods Trunk হলো CocoaPods ইকোসিস্টেমের একটি সার্ভার-সাইড সেবা যা pod-লাইব্রেরি প্রকাশ, হোস্টিং এবং পরিচালনার জন্য ডিজাইন করা হয়েছে। Trunk GitHub রিপোজিটরি এবং ফর্কের মাধ্যমে প্রকাশের পুরনো পদ্ধতি প্রতিস্থাপন করেছে, যার ফলে প্রমাণীকরণ, সেশন ব্যবস্থাপনা, ভার্সনিং এবং প্রকাশের আগে বৈধতা সহ একটি কেন্দ্রীভূত পরিকাঠামো প্রদান করেছে। iOS এবং macOS ডেভেলপাররা পাবলিক রেজিস্ট্রিতে লাইব্রেরি পাঠাতে pod trunk push ব্যবহার করে।

মূল বিষয়

  • CocoaPods Trunk — pod-লাইব্রেরি প্রকাশের জন্য কেন্দ্রীয় সেবা, Git-রিপোজিটরি বাঁধাই প্রতিস্থাপন করেছে
  • নিবন্ধন — ইমেল নিশ্চিতকরণ সহ pod trunk register এর মাধ্যমে এককালীন প্রমাণীকরণ
  • প্রকাশpod trunk push কমান্ড বৈধতা, লিন্টিং এবং রেজিস্ট্রিতে আপলোডের মধ্য দিয়ে যায়
  • ব্যবস্থাপনা — pod প্রশাসনের জন্য pod trunk me, pod trunk add-owner, pod trunk deprecate
  • নিরাপত্তা — সেশন টোকেন, API কী, প্রকাশের আগে podspec যাচাই

CocoaPods Trunk কী?

CocoaPods Trunk হলো ২০১৫ সালে pod-লাইব্রেরির কেন্দ্রীভূত প্রকাশের জন্য চালু করা একটি সার্ভার পরিকাঠামো। Trunk-এর আগে, প্রতিটি pod Git রিপোজিটরির মাধ্যমে বিতরণ করা হত: ডেভেলপারকে একটি পাবলিক রিপোজিটরি তৈরি করতে হত, podspec ফাইল যোগ করতে হত এবং কেন্দ্রীয় রিপোজিটরি CocoaPods/Specs-এ Pull Request পাঠাতে হত। এই পদ্ধতিতে ম্যানুয়াল মডারেশনের প্রয়োজন ছিল এবং আপডেট প্রকাশে বিলম্ব হত।

Trunk প্রকাশ, আপডেট এবং pod পরিচালনার জন্য একটি ইউনিফাইড API প্রদান করে এই সমস্যাগুলো সমাধান করেছে। সেবাটিতে চারটি মূল উপাদান অন্তর্ভুক্ত রয়েছে:

  • প্রমাণীকরণ — ইমেল নিশ্চিতকরণ সহ নিবন্ধন এবং সেশন টোকেন ব্যবস্থাপনা। প্রতিটি ডেভেলপার তার অ্যাকাউন্ট এবং ডিভাইসের সাথে সংযুক্ত একটি অনন্য টোকেন পায়।
  • বৈধতা — প্রকাশের আগে podspec-এর স্বয়ংক্রিয় যাচাই, যার মধ্যে সিনট্যাক্স বিশ্লেষণ, নির্ভরতা লিন্টিং এবং প্ল্যাটফর্ম সামঞ্জস্য পরীক্ষা অন্তর্ভুক্ত।
  • হোস্টিং — CocoaPods সার্ভারে pod মেটাডেটা এবং সংস্করণ সংরক্ষণ। সোর্স কোড ডেভেলপারের Git রিপোজিটরিতেই থাকে, Trunk শুধুমাত্র podspec ফাইল এবং লিঙ্ক সংরক্ষণ করে।
  • অ্যাক্সেস ব্যবস্থাপনা — pod মালিক যোগ এবং অপসারণ, প্রকাশের অধিকার স্থানান্তর, pod অপ্রচলিত হিসেবে চিহ্নিত করার ক্ষমতা।

Trunk-এর আর্কিটেকচার PostgreSQL ডাটাবেস সহ Ruby on Rails স্ট্যাকের উপর নির্মিত। সেবাটি সমস্ত অপারেশনের জন্য JSON ফরম্যাট সহ HTTP API ব্যবহার করে, এবং CLI ক্লায়েন্ট pod trunk CocoaPods ডিস্ট্রিবিউশনের অংশ, যা মূল cocoapods জেমের সাথে ইনস্টল হয়।

আজ পর্যন্ত, Trunk-এর মাধ্যমে ১০০,০০০-এরও বেশি pod প্রকাশিত হয়েছে, মোট ডাউনলোড ৫০ বিলিয়ন ছাড়িয়েছে। সেবাটি প্রতিদিন বিশ্বজুড়ে ডেভেলপারদের কাছ থেকে হাজার হাজার প্রকাশ এবং আপডেট অনুরোধ প্রক্রিয়া করে।

নিবন্ধন এবং প্রমাণীকরণ

pod প্রকাশের আগে, আপনাকে Trunk-এ নিবন্ধন করতে হবে। প্রক্রিয়াটি একটি মাত্র ধাপ নিয়ে গঠিত — pod trunk register কমান্ড:

bash
pod trunk register your@email.com 'Your Name' --description='MacBook Pro, iOS উন্নয়ন'

কমান্ড চালানোর পর, নির্দিষ্ট ইমেলে একটি নিশ্চিতকরণ লিঙ্ক পাঠানো হয়। লিঙ্কে ক্লিক করলে অ্যাকাউন্ট সক্রিয় হয় এবং একটি সেশন টোকেন তৈরি হয় যা সিস্টেম কীচেইনে (macOS-এ Keychain, Linux-এ gnome-keyring বা সমতুল্য) সংরক্ষিত হয়। টোকেনটি স্বয়ংক্রিয়ভাবে পরবর্তী সমস্ত pod trunk অপারেশনে ব্যবহৃত হয়।

--description প্যারামিটারটি ঐচ্ছিক কিন্তু সুপারিশ করা হয় — এটি pod trunk me-এর মাধ্যমে সক্রিয় সেশন দেখার সময় সেশন সনাক্ত করতে সহায়তা করে। আপনি যদি একাধিক মেশিন (ওয়ার্কস্টেশন, CI সার্ভার) থেকে কাজ করেন, বিবরণ এক সেশনকে অন্যটি থেকে আলাদা করতে সাহায্য করে।

প্রমাণীকরণ স্থিতি পরীক্ষা করতে, কমান্ড ব্যবহার করুন:

bash
pod trunk me

আউটপুট ইমেল, নাম, আপনার pod তালিকা (যদি ইতিমধ্যে প্রকাশ করে থাকেন) এবং সক্রিয় সেশন দেখায়। ফলাফলের উদাহরণ:

bash
  - Name: Your Name
  - Email: your@email.com
  - Since: 2024-03-15 10:30 UTC
  - Pods:
    - MyLibrary
    - AnotherPod
  - Sessions:
    - 2024-03-15 10:30 UTC - MacBook Pro, iOS ডেভেলপমেন্ট

CI সার্ভারে (GitHub Actions, GitLab CI, Jenkins), প্রমাণীকরণ COCOAPODS_TRUNK_TOKEN এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে পাস করা টোকেন দিয়ে সম্পন্ন হয়। টোকেন কমান্ড দিয়ে পাওয়া যায়:

bash
pod trunk me --token-only

এই টোকেনটি CI সেটিংসে একটি গোপন ভেরিয়েবল হিসেবে সংরক্ষিত হয় এবং পুনরায় নিবন্ধন ছাড়াই প্রকাশের ধাপে ব্যবহৃত হয়। GitHub Actions-এর জন্য উদাহরণ:

bash
env:
  COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}

গুরুত্বপূর্ণ: টোকেন অ্যাকাউন্টের সাথে সংযুক্ত pod পরিচালনার জন্য সম্পূর্ণ অ্যাক্সেস দেয়। এটি কখনই পাবলিক রিপোজিটরিতে প্রকাশ করবেন না বা তৃতীয় পক্ষের সাথে শেয়ার করবেন না। আপস করা হলে, টোকেন pod trunk remove-session-এর মাধ্যমে বা CocoaPods ওয়েবসাইট কন্ট্রোল প্যানেলের মাধ্যমে সমস্ত সেশন মুছে ফেলা যায়।

Podspec প্রস্তুতি

podspec ফাইল (.podspec বা .podspec.json) হলো লাইব্রেরির ম্যানিফেস্ট যাতে মেটাডেটা, নির্ভরতা, প্ল্যাটফর্ম তথ্য এবং সোর্স কোড বিবরণ থাকে। Trunk এই ফাইলটি বৈধতা এবং pod নিবন্ধনের জন্য ব্যবহার করে। প্রকাশের জন্য একটি ন্যূনতম podspec দেখতে এরকম:

bash
Pod::Spec.new do |s|
  s.name         = 'MyLibrary'
  s.version      = '0.1.0'
  s.summary      = 'লাইব্রেরির সংক্ষিপ্ত বিবরণ'
  s.description  = 'ক্ষমতার ব্যাখ্যা সহ বিস্তারিত বিবরণ'
  s.homepage     = 'https://github.com/username/MyLibrary'
  s.license      = { :type => 'MIT', :file => 'LICENSE' }
  s.author       = { 'Your Name' => 'your@email.com' }
  s.source       = { :git => 'https://github.com/username/MyLibrary.git', :tag => s.version.to_s }
  s.source_files = 'Sources/**/*.{swift,h,m}'
  s.platform     = :ios, '12.0'
  s.swift_version = '5.7'
end

podspec-এর মূল ফিল্ড:

  • name — pod-এর নাম, Trunk রেজিস্ট্রিতে অনন্য হতে হবে। নামগুলি প্রথম এসেছিল প্রথম পাবে ভিত্তিতে নিবন্ধিত হয় — নাম নেওয়া থাকলে প্রকাশ প্রত্যাখ্যান করা হবে।
  • versionMAJOR.MINOR.PATCH ফরম্যাটে সিম্যান্টিক সংস্করণ। Trunk একই সংস্করণ পুনরায় প্রকাশ গ্রহণ করে না — সংখ্যা বাড়াতে হবে।
  • source — Git রিপোজিটরি লিঙ্ক এবং ট্যাগ। Trunk সোর্স কোড সংরক্ষণ করে না, তাই রিপোজিটরিটি ক্লোন করার জন্য উপলব্ধ হতে হবে।
  • platform — লক্ষ্য প্ল্যাটফর্ম (iOS, macOS, tvOS, watchOS) এবং ন্যূনতম SDK সংস্করণ।
  • license — লাইসেন্সের ধরন। MIT, Apache-2.0, BSD বা অন্য ওপেন-সোর্স লাইসেন্স উল্লেখ করার সুপারিশ করা হয়।

প্রকাশের আগে, লিন্টার দিয়ে podspec-এর সঠিকতা পরীক্ষা করুন:

bash
pod lib lint MyLibrary.podspec

লিন্টার সিনট্যাক্স, বাধ্যতামূলক ফিল্ড, ফাইল পাথের সঠিকতা এবং নির্ভরতা সমাধানযোগ্যতা পরীক্ষা করে। যদি লিন্টিং প্রক্রিয়ায় প্রাইভেট সোর্স ব্যবহার করা হয়, তাহলে --sources ফ্ল্যাগ যোগ করা হয়। নেটওয়ার্ক ডাউনলোড এড়াতে (শুধুমাত্র স্থানীয় পরীক্ষা), --local-only ফ্ল্যাগ ব্যবহার করা হয়।

pod trunk push এর মাধ্যমে প্রকাশ

pod প্রকাশের প্রধান কমান্ড হলো pod trunk push। এটি podspec ফাইল Trunk সার্ভারে পাঠায়, যেখানে এটি সম্পূর্ণ বৈধতার মধ্য দিয়ে যায় এবং পাবলিক রেজিস্ট্রিতে নিবন্ধিত হয়। সিনট্যাক্স:

bash
pod trunk push MyLibrary.podspec

--allow-warnings ফ্ল্যাগ সতর্কতা থাকা সত্ত্বেও প্রকাশের অনুমতি দেয়। ডিফল্টরূপে, যেকোনো সতর্কতা প্রকাশ ব্লক করে। যদি আপনার লাইব্রেরিতে পরিচিত সতর্কতা থাকে যা কার্যকারিতা প্রভাবিত করে না, আপনি এই ফ্ল্যাগ ব্যবহার করতে পারেন। গুরুত্বপূর্ণ: ত্রুটিগুলি সর্বদা প্রকাশ ব্লক করে, ফ্ল্যাগ নির্বিশেষে।

--synchronous ফ্ল্যাগ অনুরোধকে সিঙ্ক্রোনাস করে — টার্মিনাল সার্ভার-সাইড বৈধতা সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে। ডিফল্টরূপে, কমান্ড জমা দেওয়ার সাথে সাথেই নিয়ন্ত্রণ ফিরিয়ে দেয় এবং সার্ভার অ্যাসিঙ্ক্রোনাসভাবে প্রকাশ প্রক্রিয়া করে। সিঙ্ক্রোনাস মোড CI/CD-তে উপযোগী যখন পাইপলাইনের পরবর্তী ধাপ সফল প্রকাশের উপর নির্ভর করে।

--skip-import-validation ফ্ল্যাগ টেস্ট প্রকল্পে লাইব্রেরি ইম্পোর্টের পরীক্ষা এড়িয়ে যায়। এটি প্রকাশ দ্রুত করে কিন্তু গ্যারান্টি দেয় না যে লাইব্রেরি আসলে কম্পাইল হয়। এই ফ্ল্যাগ শুধুমাত্র তখনই ব্যবহার করুন যদি আপনি বিল্ড সঠিকতা সম্পর্কে নিশ্চিত হন।

সাধারণ অপশন সহ প্রকাশের উদাহরণ:

bash
pod trunk push MyLibrary.podspec \
  --allow-warnings \
  --synchronous \
  --skip-import-validation

সফল প্রকাশের পর, Trunk বিস্তারিত সহ JSON ফেরত দেয়:

bash
  Congrats

  MyLibrary (0.1.0) successfully published

  Pod URL: https://cocoapods.org/pods/MyLibrary

লাইব্রেরিটি যেকোনো iOS বা macOS প্রকল্পে Podfile-এর মাধ্যমে ইনস্টলেশনের জন্য উপলব্ধ হয়। সাধারণত, CocoaPods সার্চ ইনডেক্স কয়েক মিনিটের মধ্যে আপডেট হয়, কিন্তু বিরল ক্ষেত্রে ইনডেক্সিং এক ঘন্টা পর্যন্ত সময় নিতে পারে।

গুরুত্বপূর্ণ সীমাবদ্ধতা: একবার প্রকাশিত pod সংস্করণ মুছে ফেলা যায় না। এটি প্রকল্পগুলিকে ভাঙা থেকে রোধ করার জন্য যা ইতিমধ্যে এই সংস্করণ ব্যবহার করছে। যদি প্রকাশ ত্রুটিপূর্ণ হয়, আপনি সংশোধন সহ পরবর্তী সংস্করণ প্রকাশ করতে পারেন, কিন্তু রোলব্যাক অসম্ভব। ব্যতিক্রম হলো pod trunk delete, যা শুধুমাত্র CocoaPods কর্মীদের জন্য উপলব্ধ এবং চরম ক্ষেত্রে (লাইসেন্স লঙ্ঘন, দূষিত কোড) ব্যবহৃত হয়।

রিলিজ এবং অ্যাক্সেস ব্যবস্থাপনা

CocoaPods Trunk প্রকাশিত pod প্রশাসনের জন্য বেশ কয়েকটি কমান্ড সরবরাহ করে:

মালিক যোগ করা

অন্য ডেভেলপারকে প্রকাশের অধিকার হস্তান্তর করতে, কমান্ড ব্যবহার করুন:

bash
pod trunk add-owner MyLibrary developer@email.com

নির্বাহের পর, নতুন মালিক pod পরিচালনার সম্পূর্ণ অ্যাক্সেস পায়: নতুন সংস্করণ প্রকাশ, অন্য মালিক যোগ এবং অপসারণ, pod অপ্রচলিত হিসেবে চিহ্নিত করা। যেকোনো নিবন্ধিত Trunk ব্যবহারকারী মালিক হতে পারেন — পূর্ব নিবন্ধন বাধ্যতামূলক।

মালিক অপসারণ

যদি কোনো ডেভেলপার প্রকল্প ছেড়ে চলে যায় বা pod-এ আর অ্যাক্সেস না থাকে:

bash
pod trunk remove-owner MyLibrary developer@email.com

শুধুমাত্র বর্তমান মালিক একজন মালিককে অপসারণ করতে পারেন। কোনো pod-এর শেষ মালিককে অপসারণ করা যায় না — প্রথমে একজন নতুন মালিক যোগ করতে হবে। এটি pod মালিকহীন এবং পরিত্যক্ত হওয়া থেকে রোধ করে।

pod অপ্রচলিত হিসেবে চিহ্নিত করা

যদি লাইব্রেরি আর সমর্থিত না হয়, আপনি এটি অপ্রচলিত (deprecated) হিসেবে চিহ্নিত করতে পারেন। এটি রেজিস্ট্রি থেকে pod সরিয়ে না, কিন্তু ইনস্টলেশনের সময় ব্যবহারকারীদের জন্য একটি সতর্কতা যোগ করে:

bash
pod trunk deprecate MyLibrary

ঐচ্ছিকভাবে, আপনি একটি প্রতিস্থাপন pod নির্দিষ্ট করতে পারেন:

bash
pod trunk deprecate MyLibrary --in-favor-of=NewLibrary

অপ্রচলিত pod ইনস্টল করার সময়, CocoaPods টার্মিনালে একটি সতর্কতা প্রদর্শন করে এবং নির্দিষ্ট প্রতিস্থাপনে স্যুইচ করার সুপারিশ করে। বিদ্যমান প্রকল্প বিল্ড ভাঙা ছাড়া লাইব্রেরি সমর্থন শেষ করার এটি সঠিক উপায়।

pod তথ্য দেখা

pod তথ্য pod trunk info কমান্ডের মাধ্যমে উপলব্ধ:

bash
pod trunk info MyLibrary

কমান্ডটি সমস্ত pod সংস্করণ, প্রকাশের তারিখ, মালিক তালিকা এবং অবস্থা (সক্রিয়/অপ্রচলিত) দেখায়। নির্দিষ্ট সংস্করণের বিবরণ দেখতে, pod spec cat MyLibrary 0.1.0 ব্যবহার করুন।

ত্রুটি এবং সমাধান

Trunk-এর সাথে কাজ করার সময়, ডেভেলপাররা প্রায়ই সাধারণ ত্রুটির সম্মুখীন হন। আসুন সবচেয়ে সাধারণগুলি পর্যালোচনা করি:

প্রমাণীকরণ ত্রুটি

লক্ষণ: [!] Authentication failed. You need to register a session first.
কারণ: সেশন টোকেন অনুপস্থিত বা মেয়াদোত্তীর্ণ। টোকেনগুলির সীমিত বৈধতা সময়কাল রয়েছে (ডিফল্টরূপে কার্যকলাপ ছাড়া ৩০ দিন)।
সমাধান: পুনরায় pod trunk register your@email.com 'Your Name' চালান। আপনি যদি CI ব্যবহার করেন, তাহলে COCOAPODS_TRUNK_TOKEN এনভায়রনমেন্ট ভেরিয়েবলটি আপডেট আছে কিনা পরীক্ষা করুন এবং প্রয়োজন হলে নতুন টোকেন জেনারেট করুন।

সংস্করণ দ্বন্দ্ব

লক্ষণ: [!] You have already pushed version 0.1.0 for MyLibrary.
কারণ: বিদ্যমান সংস্করণ পুনরায় প্রকাশের প্রচেষ্টা। Trunk সংস্করণ ওভাররাইট করার অনুমতি দেয় না।
সমাধান: সিম্যান্টিক ভার্সনিং অনুযায়ী podspec-এ সংস্করণ বাড়ান। আপনি যদি podspec-এ ভুল করে থাকেন, তবে সংশোধন সহ পরবর্তী সংস্করণ প্রকাশ করুন।

Podspec বৈধতা ত্রুটি

লক্ষণ: [!] The spec did not pass validation. ERROR | [iOS] file patterns: Source files did not match any file.
কারণ: source_files ফিল্ডে সোর্স ফাইলের ভুল পথ।
সমাধান: podspec-এ পথ পরীক্ষা করুন, সমস্ত ত্রুটি সমাধান না হওয়া পর্যন্ত স্থানীয়ভাবে pod lib lint চালান, তারপর প্রকাশ পুনরাবৃত্তি করুন। গ্লোব প্যাটার্ন ব্যবহার করুন: Classes/**/*.{h,m}, Sources/MyLibrary/**/*.swift

সংযোগ টাইমআউট

লক্ষণ: [!] Connection to trunk.cocoapods.org failed. Timeout.
কারণ: নেটওয়ার্ক সমস্যা বা Trunk সার্ভারের অস্থায়ী অনুপলব্ধতা।
সমাধান: সার্ভার উপলব্ধতা পরীক্ষা করুন: curl -I https://trunk.cocoapods.org। সার্ভার সাড়া দিলে, কয়েক মিনিটের মধ্যে কমান্ড পুনরাবৃত্তি করুন। আপনার IP ব্লক করা থাকতে পারে — অন্য সংযোগ বা VPN থেকে চেষ্টা করুন।

pod-এ অ্যাক্সেস নেই

লক্ষণ: [!] You do not have permission to push to MyLibrary.
কারণ: আপনি pod-এর মালিক নন। এটি ঘটে যদি কেউ ইতিমধ্যে এই নামে একটি pod নিবন্ধিত করে থাকে।
সমাধান: বর্তমান pod মালিকের সাথে যোগাযোগ করুন (pod trunk info MyLibrary-এর মাধ্যমে জানুন) এবং তাদেরকে pod trunk add-owner-এর মাধ্যমে আপনাকে যোগ করতে বলুন। pod নাম নেওয়া থাকলে, বিকল্প নাম বিবেচনা করুন।

সচরাচর জিজ্ঞাসিত প্রশ্ন

CocoaPods Trunk এবং Specs রিপোজিটরির মাধ্যমে পুরনো প্রকাশ পদ্ধতির মধ্যে পার্থক্য কী?

পুরনো পদ্ধতিতে CocoaPods/Specs রিপোজিটরিতে ম্যানুয়াল Pull Request প্রয়োজন হত। Trunk প্রক্রিয়াটি স্বয়ংক্রিয় করে: আপনি একটি মাত্র pod trunk push কমান্ড চালান, এবং সার্ভার podspec যাচাই করে, রেজিস্ট্রিতে যোগ করে এবং সার্চ ইনডেক্স আপডেট করে। Trunk অ্যাক্সেস ব্যবস্থাপনা (একাধিক মালিক), সেশন টোকেন এবং কেন্দ্রীভূত মেটাডেটা স্টোরেজও যোগ করেছে।

প্রকাশিত pod সংস্করণ কীভাবে প্রত্যাহার করব?

এটি সম্ভব নয় — Trunk নির্ভরতা অখণ্ডতা বজায় রাখতে প্রকাশিত সংস্করণ মুছে ফেলা নিষিদ্ধ করে। যদি কোনো সংস্করণে গুরুতর বাগ থাকে, সংশোধন সহ একটি নতুন সংস্করণ প্রকাশ করুন এবং সমস্যাযুক্ত সংস্করণটি pod trunk deprecate-এর মাধ্যমে অপ্রচলিত হিসেবে চিহ্নিত করুন। সম্পূর্ণ মুছে ফেলা শুধুমাত্র ব্যতিক্রমী ক্ষেত্রে CocoaPods প্রশাসকদের জন্য উপলব্ধ।

আমি কি podspec-এ ইমেল উল্লেখ না করেই pod প্রকাশ করতে পারি?

না, s.author ফিল্ডে একটি ইমেল থাকতে হবে। Trunk এটি pod মালিকের অ্যাকাউন্টের সাথে লিঙ্ক করতে ব্যবহার করে। ঠিকানাটি pod trunk register-এর সময় ব্যবহৃত ইমেলের সাথে মিলতে হবে। podspec-এ ইমেল ভিন্ন হলে, প্রকাশ প্রত্যাখ্যান করা হবে।

প্রকাশের পর pod ইনডেক্সিং কত সময় নেয়?

সাধারণত, pod CocoaPods সার্চে ৫-১৫ মিনিটের মধ্যে উপস্থিত হয়। বিরল ক্ষেত্রে, ইনডেক্সিং এক ঘন্টা পর্যন্ত সময় নিতে পারে। তবে, Trunk-এর কাছ থেকে সফল প্রতিক্রিয়া পাওয়ার পরপরই pod Podfile-এর মাধ্যমে ইনস্টলেশনের জন্য উপলব্ধ হয় — আপনাকে শুধু Podfile-এ সঠিক সংস্করণ বা পরিসীমা নির্দিষ্ট করতে হবে।

নিবন্ধনের সময় ব্যবহৃত ইমেলের অ্যাক্সেস হারিয়ে ফেললে কী করব?

যদি আপনার সক্রিয় সেশন থাকে (টোকেনের মেয়াদ শেষ না হয়), pod trunk register new@email.com-এর মাধ্যমে আপনার ইমেল পরিবর্তন করুন — নতুন নিবন্ধন pod-গুলিকে নতুন ঠিকানায় লিঙ্ক করবে। যদি সেশনের মেয়াদ শেষ হয়ে যায়, GitHub Issues-এর মাধ্যমে CocoaPods সমর্থনের সাথে যোগাযোগ করুন। pod মালিকানার প্রমাণ হতে পারে pod-এর Git রিপোজিটরিতে কমিট তৈরি করার ক্ষমতা।

সারাংশ

  • CocoaPods Trunk — pod-লাইব্রেরি প্রকাশ এবং পরিচালনার জন্য একটি কেন্দ্রীভূত সার্ভার সেবা, যা ম্যানুয়াল Specs রিপোজিটরি প্রক্রিয়া প্রতিস্থাপন করেছে
  • নিবন্ধন — ইমেল নিশ্চিতকরণ এবং স্বয়ংক্রিয় সেশন টোকেন স্টোরেজ সহ pod trunk register-এর মাধ্যমে একবার করা হয়
  • Podspec — Ruby DSL বা JSON ফরম্যাটে লাইব্রেরি ম্যানিফেস্ট যাতে মেটাডেটা, নির্ভরতা এবং প্ল্যাটফর্ম সেটিংস রয়েছে
  • প্রকাশpod trunk push কমান্ড সার্ভার-সাইড বৈধতার মধ্য দিয়ে যায়; একবার প্রকাশিত হলে, সংস্করণ মুছে ফেলা যায় না
  • অ্যাক্সেস ব্যবস্থাপনা — মালিকরা pod trunk add-owner এবং pod trunk remove-owner-এর মাধ্যমে যোগ এবং অপসারণ করা হয়
  • CI/CD ইন্টিগ্রেশন — পাইপলাইনে স্বয়ংক্রিয় প্রকাশের জন্য COCOAPODS_TRUNK_TOKEN এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে প্রমাণীকরণ
  • নিরাপত্তা — সীমিত জীবনকালের সেশন টোকেন, সংস্করণ মুছে ফেলার অসম্ভবতা, পুনঃপ্রকাশের বিরুদ্ধে সুরক্ষা

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন