我正在尝试访问主NSBundle
,以检索version和build信息。问题是,我想在Swift中尝试一下,我知道如何在Objective-C中检索它:
text = [NSBundle.mainBundle.infoDictionary objectForKey:@"CFBundleVersion"];
然而,我不知道从哪里开始使用Swift,我试图用新的语法编写它,但没有成功。
发布于 2014-07-01 09:38:52
Swift语法有什么问题?这似乎起作用了:
if let text = Bundle.main.infoDictionary?["CFBundleVersion"] as? String {
print(text)
}
发布于 2015-01-27 00:05:44
Swift 3/4版
func version() -> String {
let dictionary = Bundle.main.infoDictionary!
let version = dictionary["CFBundleShortVersionString"] as! String
let build = dictionary["CFBundleVersion"] as! String
return "\(version) build \(build)"
}
Swift 2.x版本
func version() -> String {
let dictionary = NSBundle.mainBundle().infoDictionary!
let version = dictionary["CFBundleShortVersionString"] as String
let build = dictionary["CFBundleVersion"] as String
return "\(version) build \(build)"
}
正如here所见。
发布于 2014-10-25 22:26:36
对于Xcode6的最终版本,请使用
NSBundle.mainBundle().infoDictionary?["CFBundleVersion"] as? String
"?“在这里,infoDictionary后面的字符很重要
https://stackoverflow.com/questions/24501288
复制相似问题