我正在写一个iPhone应用程序。它已经发布,但我想添加一个功能,其版本号显示。
我不希望对我发布的每个版本都手动执行此操作……
objective-C中有办法找出我的应用的版本吗?
我正在写一个iPhone应用程序。它已经发布,但我想添加一个功能,其版本号显示。
我不希望对我发布的每个版本都手动执行此操作……
objective-C中有办法找出我的应用的版本吗?
当前回答
你可以使用infoDictionary从info中获取版本细节。这段代码适用于swift 3。只需调用此方法并在任何首选的UI元素中显示版本。
Swift-3
func getVersion() -> String {
let dictionary = Bundle.main.infoDictionary!
let version = dictionary["CFBundleShortVersionString"] as! String
let build = dictionary["CFBundleVersion"] as! String
return "v\(version).\(build)"
}
其他回答
如果你需要version和build num的组合,这里有一个使用Swift 3的简单方法:
let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"]!
let buildNum = Bundle.main.infoDictionary!["CFBundleVersion"]!
let versionInfo = "\(appVersion) (build \(buildNum))"
// versionInfo is now something like "2.3.0 (build 17)"
加一个a !String到appVersion或buildNum行的末尾,以仅获取该部分作为String对象。如果你想要完整的versionInfo,就不需要这样做了。
我希望这能有所帮助!
// Syncs with App Store and Xcode Project Settings Input
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
你可以尝试使用字典作为:-
NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];
NSString *buildVersion = infoDictionary[(NSString*)kCFBundleVersionKey];
NSString *bundleName = infoDictionary[(NSString *)kCFBundleNameKey]
这就是我在申请中所做的
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
希望这个简单的答案能帮助到一些人……
斯威夫特5:
有两件事——应用版本和构建版本
获取App版本: if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as?字符串{ //当前appVersion } 获取构建版本: if let buildVersion = Bundle.main.infoDictionary?["CFBundleVersion"] as?字符串{ //当前buildVersion }
非常感谢布拉德·拉森(brad Larson)