कर रहे हैं 2 नंबर!
मार्केटिंग रिलीज़ नंबर ग्राहकों के लिए है, जिसे संस्करण संख्या कहा जाता है । यह 1.0 से शुरू होता है और 2.0 , 3.0 के प्रमुख अपडेट के लिए , 1.1 , 1.2 के मामूली अपडेट के लिए और बग फिक्स के लिए 1.0.1 , 1.0.2 तक जाता है । यह संख्या रिलीज़ और नई सुविधाओं के बारे में उन्मुख है। इसे 9 पर रोकना नहीं है, 1.11.23 एक उचित संस्करण संख्या है।
बिल्ड नंबर ज्यादातर आंतरिक संख्या बनाता है की है कि तब तक किया गया है। लेकिन कुछ अन्य नंबरों का उपयोग करते हैं जैसे कि रिपॉजिटरी की शाखा संख्या या उसका प्रतिबद्ध नंबर। यह संख्या अलग-अलग बिल्ड को अलग करने के लिए अद्वितीय होनी चाहिए , जिसमें केवल मामूली वृद्धि हुई है।
संस्करण संख्या प्राप्त करने के लिए :
उद्देश्य सी:
NSString * appVersionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
स्विफ्ट <3.0:
let appVersionString: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
स्विफ्ट 3.0+ (5.0 के साथ परीक्षण):
let appVersionString: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
बिल्ड नंबर प्राप्त करने के लिए :
उद्देश्य सी:
NSString * appBuildString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
स्विफ्ट <3.0:
let buildNumber: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleVersion") as! String
स्विफ्ट 3.0+ (5.0 तक परीक्षण किया गया):
let buildNumber: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String
यदि आप दोनों एक में चाहते हैं :
पहले उपरोक्त पंक्तियों का उपयोग करें और फिर निम्न का।
उद्देश्य सी:
NSString * versionBuildString = [NSString stringWithFormat:@"Version: %@ (%@)", appVersionString, appBuildString];
स्विफ्ट (5.0 तक परीक्षण किया गया):
let versionAndBuildNumber: String = "\(appVersionString) (\(buildNumber))"
टिप्पणियाँ:
मुख्य बंडल में मान हमेशा मौजूद नहीं होते हैं, उदाहरण के लिए कमांड लाइन एप्लिकेशन में कोई है CFBundleShortVersionString
या नहीं CFBundleVersion
, इसलिए तरीके वापस आ जाएंगे nil
और यह क्रैश हो जाएगा क्योंकि कोड में यह गलत डाउनकास्ट करता है। लेकिन सामान्य तौर पर कोको आईओएस और मैक ऐप में इन मूल्यों को परिभाषित किया गया है और इन्हें हटाया नहीं जाएगा।
यह Xcode संस्करण 7.3 (7D175) के साथ परीक्षण किया गया है । बिल्ड नंबर अक्सर कोष्ठक / ब्रेसिज़ में लिखा जाता है। बिल्ड नंबर हेक्साडेसिमल या दशमलव में है।
Xcode में आप प्रोजेक्ट सेटिंग्स में बिल्ड चरण में निम्नलिखित रखकर एक बिल्ड को दशमलव संख्या के रूप में बढ़ा सकते Run script
हैं
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
के लिए हेक्साडेसिमल बिल्ड नंबर इस स्क्रिप्ट का उपयोग
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber))
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
के लिए Xcode
निम्न कार्य करें:
चरण 1
चरण 2
चरण 3