let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
let build = Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as! String
let info:NSDictionary = NSBundle.mainBundle().infoDictionary!
let version:String = info.objectForKey("CFBundleShortVersionString") as! String
versionLabel.text = "Version:" + version
8条答案
按热度按时间wvyml7n51#
您可以按如下方式获取版本号和内部版本号:
或者在Objective-C中
我在
UIApplication
上的一个类别中有以下方法:要点:
下面是Objective-C中的等价物:
要点:
ecr0jaav2#
以下是Xcode 8和Swift 3的工作原理:
628mspwn3#
目标C:
1)要获取应用程序版本,您必须使用:
2)要获取构建版本,您必须使用:
aurhwmvo4#
所有iOS应用程序都必须在其Info.plist文件中存储应用程序版本号,但没有内置的方法将其作为可在代码中使用的字符串。
我创建了一个UIApplication的小扩展,它读取Info.plist文件并自动返回版本号。
下面是代码:
控制器内部
50few1ms5#
在Swift中,您可以通过以下方式获取捆绑包版本:
ddarikpa6#
我的一个开源项目App Update Tracker以类方法的形式提供了此功能(以及更多功能):
+ (NSString *)getShortVersionString
+ (NSString *)getLongVersionString
您可以这样使用它:
um6iljoc7#
下面是分别针对这两种情况的Swift版本:
它包括在这个回购,看看它:
https://github.com/goktugyil/EZSwiftExtensions
yhxst69z8#
只是提醒
要获取任何键的本地化值,应使用
CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), "CFBundleShortVersionString" as CFString)