আমি আমার কোডে তথ্য.প্লেস্ট থেকে বান্ডিল সংস্করণ তথ্যটি পড়তে চাই, পছন্দমতো স্ট্রিং হিসাবে। কিভাবে আমি এটি করতে পারব?
উত্তর:
আপনি অভিধান সহ আপনার তথ্য.প্লেস্টটি পড়তে পারেন
[[NSBundle mainBundle] infoDictionary]
এবং আপনি কীভাবে সহজেই সংস্করণটি পেতে পারেন CFBundleVersion
।
অবশেষে, আপনি এর সাথে সংস্করণটি পেতে পারেন
NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
NSString* version = [infoDict objectForKey:@"CFBundleVersion"];
objectForInfoDictionaryKey:
পরিবর্তে আপনি সম্ভবত এটি ব্যবহার করতে চাইতে পারেন , যেহেতু এটি উপলভ্য থাকলে স্থানীয়করণের মানটি ফেরত দেয়:[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]
CFBundleVersion
বিল্ড এবং সংস্করণটি হ'ল এটি পুনরায় প্রকাশ করা হয়েছে CFBundleShortVersionString
।
NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *build = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.versionLabel.text = [NSString stringWithFormat:@"%@.%@", version, build];
সুইফ্ট ব্যবহারকারীদের জন্য:
if let version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") {
print("version is : \(version)")
}
সুইফট 3 ব্যবহারকারীদের জন্য:
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") {
print("version is : \(version)")
}
আমি জানি যে অনুসন্ধান এবং উত্তরটি থেকে কিছুটা সময় কেটে গেছে।
IOS8 যেহেতু গৃহীত উত্তরগুলি কাজ করতে পারে না।
এটি এখনই এটি করার নতুন উপায়:
NSString *version = (__bridge id)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
আইওএস 8 এ এখন উভয় ক্ষেত্রই প্রয়োজনীয়। আগে এটি ছাড়া কাজ করে CFBundleShortVersionString
। তবে এখন অ্যাপ স্টোরটিতে কোনও অ্যাপ্লিকেশন জমা দেওয়ার জন্য প্রয়োজনীয় প্লাস্ট ফিল্ড। এবং kCFBundleVersionKey
প্রতিটি নতুন বিল্ড আপলোড করার জন্য তুলনা করা হয়, যা অবশ্যই ক্রমবর্ধমান ক্রমে হওয়া উচিত। বিশেষত টেস্টফ্লাইট বিল্ডগুলির জন্য। আমি এটি এইভাবে করি,
NSString * version = nil;
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
if (!version) {
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
}
সুইফট 3:
let appBuildNumber = Bundle.main.infoDictionary!["CFBundleVersion"] as! String
let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String