এক্সকোড সংস্করণ (CFBundleShortVersionString) এবং বিল্ড (CFBundleVersion) মধ্যে পার্থক্য


94

অ্যাপ্লিকেশন লক্ষ্য সংক্ষিপ্তসার

এক্সকোড 4 এ, আমি এটি আমার লক্ষ্য সংক্ষিপ্তসারের জন্য দেখছি:

"সংস্করণ" ইনপুট CFBundleShortVersionStringতথ্য.পলিট ফাইলে অনুরূপ , এবং "বিল্ড" ইনপুট এর সাথে সম্পর্কিত CFBundleVersion

এই দুজনের মধ্যে পার্থক্য কী? আমি ইন্টারনেটে প্রচুর লোককে দেখতে পাচ্ছি যে উভয়ের জন্য একই মান রাখতে চাইছে, এবং আমার সন্দেহ হ'ল পিছনের সামঞ্জস্যের জন্য।

আমার দুটি প্রশ্ন আছে:

1) আমি যদি স্ক্র্যাচ থেকে শুরু করতাম তবে আপনার অ্যাপ্লিকেশনটির সংস্করণ দেওয়ার জন্য সেরা অনুশীলনটি কী হবে?

2) আমার অ্যাপ্লিকেশনের সমস্ত পূর্ববর্তী রিলিজে আমি কেবল ব্যবহার করেছি CFBundleVersion। আপগ্রেড প্রক্রিয়াটি গোলমাল না করার জন্য, আমি CFBundleVersionযেভাবে ছিলাম ঠিক সেভাবেই বাড়ানো চালিয়ে যাওয়া উচিত বা একটি বিদ্যমান বলে ধরে ধরে "সঠিক পথে" স্যুইচ করা সম্ভব?


4
এটি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 6851660/ version- vs - build - in - xcode-4 এর সদৃশ তবে সম্ভবত এই সংস্করণটি আরও ভালভাবে বর্ণিত হয়েছে (এবং এর একটি স্ক্রিনশট রয়েছে)।
ড্যানিয়েল ডিকিসন

আপনার সংক্ষিপ্তসারে বিল্ড ফিল্ডটি দেখানোর জন্য আপনাকে কিছু করতে হয়েছিল? আমি কেবল একটি সংস্করণ দেখতে পাচ্ছি, তবে বিল্ড ক্ষেত্র নেই।
কেনি ওয়াইল্যান্ড

উত্তর:


68

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


কিন্তু যদি আমি বর্তমানে 1.3.1 আমার হিসেবে ব্যবহার করে থাকেন CFBundleVersionআমার যেমন কিছুই CFBundleShortVersionString, এবং আমি ব্যবহার স্যুইচ করতে চান CFBundleVersionতৈরী করে অভ্যন্তরীণ প্রতিনিধিত্ব করতে, তাহলে আমি প্রয়োজন অন্তত শুরুর একটি পূর্ণসংখ্যা বেশী 1.3.1 সঙ্গে, ডান? বা সেই স্যুইচটি কি কেবল সমস্যার জন্য জিজ্ঞাসা করছে?
ফিলিপ ওয়ালটন

সংস্করণ ( CFBundleShortVersionString) কেবলমাত্র অ্যাপলের কাছে জমা দেওয়ার জন্য গুরুত্বপূর্ণ। বিল্ড ( CFBundleVersion) আপনি বিকাশের ক্ষেত্রে পছন্দ করতে বা আপনার অ্যাপ্লিকেশনটির মধ্যে দেখানোর জন্য ব্যবহারের জন্য। আপনি যদি চান তবে অষ্টাল (বেস -8) এবং 12 দ্বারা বিপরীতে পুনরাবৃত্তি করুন।
nekno

16
নেকনো: ​​আসলে সিএফবান্ডেল ভার্সনই অ্যাপলের কাছে গুরুত্বপূর্ণ to কোনও অ্যাপ্লিকেশন জমা দেওয়ার সময় অ্যাপল প্রদত্ত এই ত্রুটি বার্তাটি দেখুন: "আপনার আপলোড করা বাইনারিটি অবৈধ ছিল।
ম্যালাল

10
কিছু দেশ পূর্ব আরবি (٠, ١, ٢, ٣, ٤, ٥, ٦, ٧, ٨, ٩), বা হিব্রু জাতীয় পশ্চিমা বিশ্বে ব্যবহৃত আধুনিক আরবি ব্যবহার করে এমন সংখ্যার ব্যবহার করে (א, ב, ג, ד, ו,।, ז, ח, ט) - এবং এই দুটিও বাম থেকে বামে লেখা আছে। সেখানে আরও অনেক সংখ্যা সিস্টেম আছে (দেখুন এন.ইউইকিপিডিয়া.আর / উইকি / ক্যাটাগরি: সংখ্যাগুলি দেখুন ) সুতরাং আমার অনুমান অ্যাপল "স্থানীয়করণযোগ্য" সংস্করণ নম্বর দ্বারা বোঝাচ্ছে।
রুসলান উলানভ

যাইহোক, বিরামচিহ্ন সহ তিনটি অঙ্কের প্রয়োজন নেই। আমি পরিবর্তে একটি তারিখ-সময় মান ব্যবহার করছি যেমন 201606070620একটি শিপিং আইওএস 7-8-9 অ্যাপ্লিকেশনটিতে উভয় মানের জন্য।
তুলিল বাউরক

3

আপনি কেন সিএফবান্ডলশার্টভিশনস্ট্রিংকে স্থানীয়করণ করতে চান সে বিষয়ে জেডাব্লুওয়ালকারের প্রশ্নের কাছে, এটি দশমিক বিভাজক। উদাহরণস্বরূপ লোকালগুলিতে যেখানে দশমিক বিভাজক আসলে কমা, সেখানে সংস্করণ "1.5" হবে "1,5"।


30
আইএমও আপনার সংস্করণ নম্বর স্থানীয়করণ করার প্রয়োজন নেই। আমি এমন এক অঞ্চলে থাকি যেখানে দশমিক বিভাজক কমা (জার্মানি), এবং আমি বিন্দু দ্বারা পৃথক সংখ্যার সংস্করণে অভ্যস্ত। আসলে, আমি মনে করতে পারি না যে আমি কখনই কমা সহ একটি সংস্করণ নম্বর দেখেছি।
খ্রিস্টান স্পেচট

4
আমি একটি অঞ্চলে দশমিক বিভাজক হিসাবে কমা ব্যবহার করেও থাকি, যদিও 1,3,1 বেশ অদ্ভুত মান, 1.3.1 অনেক ভাল বলে মনে হয়।
লুসিয়ান

4
আমি মনে করি এর অর্থ হ'ল আপনার কাছে বিভিন্ন অঞ্চলের অ্যাপের বিভিন্ন সংস্করণ থাকতে পারে। 1.2.1> en.lproj 1.2.2> fr.lproj যদিও ফাইলটি স্থানীয়করণের সময় পুরো প্লাস্টটি অনুলিপি করা হয় তাই উভয় সংস্করণ সংখ্যা অনুলিপি করা হয়েছে যাতে উভয়ই 'স্থানীয়করণ করা যায়'
brian.clear

1

দ্রুত ঠিক করা:

CFBundleShortVersionStringপ্লাস্ট ফাইলটিতে কেবল যুক্ত করুন এবং আপনার সংস্করণটি সম্পাদনা করুন।

  1. আপনার প্রকাশ InfoPlist.strings
  2. এটি হাইলাইট করুন এবং নীচে কোডটি পেস্ট করুন (এটি উত্স কোড মোডে ধরে নিচ্ছেন)

C "CFBundleShortVersionString" = "1.1";

  1. আপনার নতুন বিল্ডটি যাই হোক না কেন 1.1 পরিবর্তন করুন।
  2. বিল্ড এন্ড আর জমা দিন আর কোনও ত্রুটি নেই!

এখানে চিত্র বর্ণনা লিখুন


1

বাইনারি আপলোড করার বিষয়ে অ্যাপল ডকুমেন্টেশন দেখুন।

সংখ্যায়ন সংস্করণ এবং বিল্ডগুলি: আইটিউনস কানেক্টটি তার বাইনারি থেকে পূর্বরূপ সংস্করণ নম্বর এবং বিল্ড নম্বর বের করে। প্রিরিলিজ সংস্করণ নম্বরটি হ'ল এক্সকোড সংস্করণ নম্বর, বা ইনফট.পিস্টে "বান্ডিল সংস্করণ স্ট্রিং, সংক্ষিপ্ত" কী। বিল্ড নম্বরটি হ'ল এক্সকোড বিল্ড নম্বর, বা ইনফো.পিস্টে "বান্ডিল সংস্করণ" কী। প্রিরিলিজ সংস্করণ নম্বর এবং বিল্ড নম্বর প্রিরিলিজ ট্যাবে প্রদর্শিত হবে, ভিউজ বিল্ডে বর্ণিত হিসাবে।

একটি অ্যাপের জন্য বাইনারি আপলোড করা হচ্ছে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.