class Info {
static let dictionary = Bundle.main.infoDictionary ?? [:]
enum Value {
case build, version
}
}
extension Info.Value {
var key: String {
switch self {
case .build: return kCFBundleVersionKey as String
case .version: return kCFBundleInfoDictionaryVersionKey as String
}
}
var string: String? { return Info.dictionary[key] as? String }
}
用法
if let value = Info.Value.version.string { print("Version: \(value)") }
if let value = Info.Value.build.string { print("Build: \(value)") }
7条答案
按热度按时间moiiocjp1#
您在Xcode目标摘要的“版本”字段中设置的值在这里:
Swift 3
ObjC
Swift 2
关于“构建”:
Swift 3
ObjC
Swift 2
7qhs6swi2#
您可以尝试使用infoDictionary
9rbhqvlz3#
当使用
MFMailComposeViewController
作为“联系我们”按钮时,我使用这段代码在用户的电子邮件中获取格式化的HTML。它给了我所有的信息,我需要开始帮助解决任何问题:这是获得消息时的结果:
utugiqy64#
Swift版本分别为:
它包含在这个repo中,检查一下:
https://github.com/goktugyil/EZSwiftExtensions
dzhpxtsq5#
1)为了获得应用程序版本,您必须使用:
2)要获取Build版本,您必须使用:
ttcibm8c6#
详情
解决方案
用法
结果
项目设置
gajydyqb7#
我写这个open source project正是为了这个目的。我的项目会在发生重大事件时发布通知,例如用户首次打开应用程序或在升级后打开应用程序时(包括用户从哪个版本升级的信息)。来源很简单,应该很容易理解。如果你有任何问题/要求,请告诉我。
我最近也写了一个关于它的blog post。