অ্যাপল সাজানোর ক্ষেত্রগুলি পুনরায় সাজানো / পুনরায় সাজানো।
এগিয়ে যাওয়া, আপনি যদি আপনার অ্যাপ্লিকেশন টার্গেটের জন্য তথ্য ট্যাবটি সন্ধান করেন তবে আপনার "বিল্ড সংস্করণ স্ট্রিং, সংক্ষিপ্ত "টি আপনার সংস্করণ হিসাবে (উদাহরণস্বরূপ, 3.4.0) এবং আপনার বিল্ড হিসাবে" বান্ডিল সংস্করণ "ব্যবহার করা উচিত (যেমন, 500 বা 1A500) )। আপনি যদি তাদের উভয়টি দেখতে না পান তবে আপনি এগুলি যুক্ত করতে পারেন। এগুলি সংক্ষিপ্ত ট্যাবটিতে যথাযথ সংস্করণে মানচিত্র তৈরি করবে এবং পাঠ্যবাক্সগুলি তৈরি করবে; তারা একই মান।
তথ্য ট্যাবটি দেখার সময়, আপনি যদি রাইট ক্লিক করেন এবং কাঁচা কী / মানগুলি নির্বাচন করুন , আপনি আসল নামগুলি দেখতে পাবেন CFBundleShortVersionString
(সংস্করণ) এবং CFBundleVersion
(বিল্ড) see
এক্সকোড ৩ দিয়ে আপনি কীভাবে ব্যবহার করেছেন বলে মনে হয় সংস্করণটি সাধারণত ব্যবহৃত হয় আপনি সংস্করণ / বিল্ড পার্থক্য সম্পর্কে কোন স্তরের বিষয়ে জিজ্ঞাসা করছেন তা আমি নিশ্চিত নই, তাই আমি দার্শনিকভাবে উত্তর দেব।
এখানে সমস্ত ধরণের স্কিম রয়েছে তবে জনপ্রিয় একটি হ'ল:
{MajorVersion}। {Minorversion}। {পরিবর্ধন ও পরিবর্তন}
- প্রধান সংস্করণ - প্রধান পরিবর্তনগুলি, পুনরায় নকশাগুলি এবং কার্যকারিতা পরিবর্তন
- গৌণ সংস্করণ - ক্ষুদ্রতর উন্নতি, কার্যকারিতা সংযোজন
- সংশোধন - বাগ-ফিক্সগুলির জন্য একটি প্যাচ নম্বর number
তারপরে বিল্ডটি আলাদাভাবে রিলিজের জন্য বা পুরো পণ্যটির আজীবনের জন্য বিল্ডের মোট সংখ্যা নির্দেশ করতে ব্যবহৃত হয়।
অনেক বিকাশকারী বিল্ড নম্বরটি 0 এ শুরু করেন এবং প্রতিবার তারা যখন বিল্ড করেন তখন তারা একের পর এক সংখ্যাটি বাড়িয়ে দেয়, চিরকালের জন্য বাড়ছে। আমার প্রকল্পগুলিতে, আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা প্রতিবার তৈরি হওয়ার পরে স্বয়ংক্রিয়ভাবে বিল্ড সংখ্যা বৃদ্ধি করে। নীচের জন্য নির্দেশাবলী দেখুন।
- রিলিজ 1.0.0 542 বিল্ড হতে পারে 1.0 একটি 1.0.0 রিলিজ পেতে 542 বিল্ড লাগবে।
- মুক্তি 1.0.1 বিল্ড হতে পারে 578।
- রিলিজ 1.1.0 বিল্ড 694 হতে পারে।
- মুক্তি 2.0.0 বিল্ড হতে পারে 949।
অ্যাপল সহ অন্যান্য বিকাশকারীদের একটি বিল্ড নম্বর রয়েছে যার একটি বড় সংস্করণ + অপ্রাপ্ত সংস্করণ + মুক্তির জন্য বিল্ডের সংখ্যা রয়েছে। এগুলি হ'ল আসল সফ্টওয়্যার সংস্করণ নম্বর, বিপণনের জন্য ব্যবহৃত মূল্যগুলির বিপরীতে।
আপনি যদি এক্সকোড মেনু> এক্সকোড সম্পর্কে যান তবে আপনি সংস্করণ এবং বিল্ড নম্বরগুলি দেখতে পাবেন। আপনি যদি আরও তথ্য ... বোতাম টিপেন তবে আপনি বিভিন্ন সংস্করণে একটি গোছা দেখতে পাবেন। যেহেতু এক্সকোড 5 এ আরও তথ্য ... বোতামটি সরানো হয়েছে, অ্যাপল মেনু> এই ম্যাক সম্পর্কে > সিস্টেমের প্রতিবেদনটি খোলার মাধ্যমে উপলভ্য এই তথ্যটি তথ্য তথ্য অ্যাপ্লিকেশনটির সফ্টওয়্যার> বিকাশকারী বিভাগ থেকে পাওয়া যায় ।
উদাহরণস্বরূপ, এক্সকোড 4.2 (4C139)। বিপণনের সংস্করণ ৪.২ হ'ল বিল্ডের প্রধান সংস্করণ ৪, বিল্ড মাইনর সংস্করণ সি, এবং বিল্ড সংখ্যা ১৩৯ The পরবর্তী প্রকাশ (সম্ভবত 4.3) সম্ভবত বিল্ড রিলিজ 4 ডি হবে এবং বিল্ড নম্বরটি 0 থেকে শুরু হবে এবং সেখান থেকে বর্ধন হবে।
আইফোন, ম্যাকস ইত্যাদি আইফোন সিমুলেটর সংস্করণ / বিল্ড নম্বরগুলি একইভাবে are
- 3.2: (7W367a)
- 4.0: (8A400)
- 4.1: (8 বি 117)
- 4.2: (8 সি 134)
- 4.3: (8 এইচ 7)
আপডেট : অনুরোধ অনুসারে, স্ক্রিপ্ট তৈরি করার পদক্ষেপগুলি যা প্রতিবার আপনি কোড অ্যাপে এক্সকোডে বিল্ড নম্বরটি পড়তে, বৃদ্ধি করতে এবং অ্যাপ্লিকেশনটির {App}-Info.plist
ফাইলে আবার লিখতে চালিত হয় runs Yourচ্ছিক, অতিরিক্ত পদক্ষেপ রয়েছে যদি আপনি নিজের সংস্করণটি / বিল্ড নম্বরগুলি লিখতে চান তবে আপনারSettings.bundle/Root*.plist
ফাইলগুলিতে ।
এটি এখানে -র নিবন্ধ থেকে প্রসারিত ।
এক্সকোডে 4.2 - 5.0:
- আপনার এক্সকোড প্রকল্পটি লোড করুন।
- বাম হাতের ফলকে, শ্রেণিবিন্যাসের একেবারে শীর্ষে আপনার প্রকল্পে ক্লিক করুন। এটি প্রকল্প সেটিংস সম্পাদক লোড করবে।
- কেন্দ্রের উইন্ডো ফলকের বাম দিকে, টার্গেটের অধীনে আপনার অ্যাপ্লিকেশনটিতে ক্লিক করুন শিরোনামের । প্রতিটি প্রকল্পের টার্গেটের জন্য আপনাকে এই সেটআপটি কনফিগার করতে হবে।
- বিল্ড পর্যায়সমূহের ট্যাবটি নির্বাচন করুন ।
- এক্সকোড ৪-এ, নীচে ডানদিকে, বিল্ড ফেজ যোগ করুন বোতামটি ক্লিক করুন এবং রান স্ক্রিপ্ট যুক্ত করুন নির্বাচন করুন ।
- এক্সকোড 5 এ, সম্পাদক মেনু নির্বাচন করুন > বিল্ড ফেজ যোগ করুন > রান স্ক্রিপ্ট বিল্ড ফেজ যোগ করুন ।
- নতুন রান স্ক্রিপ্ট ফেজটি অনুলিপি করুন এবং এটিকে কপির বান্ডিল রিসোর্সের ঠিক আগে সরিয়ে ফেলুন পর্বের (অ্যাপ্লিকেশন-তথ্য.পিস্টলিস্ট ফাইলটি যখন আপনার অ্যাপ্লিকেশনটির সাথে বান্ডেল হবে) ।
- নতুন চালান স্ক্রিপ্ট ফেজ, সেট শেল :
/bin/bash
।
পূর্ণসংখ্যা বিল্ড সংখ্যাগুলির জন্য স্ক্রিপ্ট এরিয়ায় নিম্নলিখিতটি অনুলিপি করুন এবং পেস্ট করুন:
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
@ বিদেবীজ যেমন উল্লেখ করেছেন, অ্যাপল জেনেরিক সংস্করণ সরঞ্জাম ( agvtool
)ও উপলব্ধ। আপনি যদি এর পরিবর্তে এটি ব্যবহার করতে পছন্দ করেন তবে প্রথমে কয়েকটি জিনিস পরিবর্তন করতে হবে:
- বিল্ড সেটিংস ট্যাবটি নির্বাচন করুন ।
- অধীনে ভারশনিং অধ্যায়, সেট বর্তমান প্রকল্পের সংস্করণ প্রাথমিক বিল্ড সংখ্যা আপনি ব্যবহার করতে চান, যেমন, এর 1 ।
- আপনার বিল্ড নম্বর অন্তর্ভুক্ত উত্স ফাইলটি বিল্ড এবং আপডেট করার চেষ্টা করার সময় কোনও রেস শর্ত এড়াতে আপনার রান স্ক্রিপ্ট পর্যায়টি অনুলিপি করুন এবং বিল্ড পর্যায়গুলি ট্যাবে ফিরে যান Script
নোট করুন যে agvtool
পদ্ধতিটির সাহায্যে আপনি এখনও পর্যায়ক্রমে কোনও ত্রুটি ছাড়াই ব্যর্থ / বাতিল বিল্ড পেতে পারেন। এই কারণে, আমি agvtool
এই স্ক্রিপ্টটি ব্যবহার করার পরামর্শ দিচ্ছি না ।
তবুও, আপনার রান স্ক্রিপ্ট পর্যায়ে আপনি নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারেন:
"${DEVELOPER_BIN_DIR}/agvtool" next-version -all
next-version
যুক্তি বৃদ্ধি বিল্ড নম্বর ( bump
একই জিনিসের জন্য উপনাম), এবং -all
আপডেট Info.plist
নতুন বিল্ড নম্বর দিয়ে।
এবং যদি আপনার সেটিংস বান্ডেল থাকে যেখানে আপনি সংস্করণ এবং বিল্ড দেখান, তবে সংস্করণটি আপডেট করতে এবং তৈরি করতে আপনি স্ক্রিপ্টের শেষে নিম্নলিখিতটি যুক্ত করতে পারেন। দ্রষ্টব্য: PreferenceSpecifiers
আপনার সেটিংস মেলাতে মান পরিবর্তন করুন । PreferenceSpecifiers:2
এর অর্থ PreferenceSpecifiers
আপনার পলিট ফাইলের অ্যারের নীচে সূচি 2 তে থাকা আইটেমটি দেখুন , সুতরাং 0-ভিত্তিক সূচীর জন্য, এটি অ্যারে 3 য় পছন্দসই সেটিংস।
productVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root.plist
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root.plist
আপনি যদি সরাসরি agvtool
পড়ার পরিবর্তে ব্যবহার করছেন Info.plist
, আপনি পরিবর্তে আপনার স্ক্রিপ্টে নিম্নলিখিতগুলি যুক্ত করতে পারেন:
buildNumber=$("${DEVELOPER_BIN_DIR}/agvtool" what-version -terse)
productVersion=$("${DEVELOPER_BIN_DIR}/agvtool" what-marketing-version -terse1)
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root.plist
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root.plist
এবং আপনার যদি আইপ্যাড এবং আইফোনের জন্য সর্বজনীন অ্যাপ থাকে তবে আপনি আইফোন ফাইলের জন্য সেটিংসও সেট করতে পারেন:
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root~iphone.plist
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root~iphone.plist