iOS获取版本号(Swift和Objective-C两种实现)
在iOS开发中,我们经常需要获取应用程序的版本号,以及构建版本号。下面将演示如何通过Swift或Objective-C来实现。
Swift实现
获取Version和Build号
在Swift中,我们可以通过Bundle类的静态变量main来获取应用程序的版本号和构建版本号,具体代码如下:
if let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String,
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String {
print("Version: \(version), Build: \(build)")
}
以上代码会输出类似以下的结果:
Version: 1.0, Build: 1
获取完整的Version号
如果需要获取完整的Version号,我们可以在获取版本号的基础上,再通过Bundle Identifier来拼凑出完整的Version号,具体代码如下:
if let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String,
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String,
let displayName = Bundle.main.infoDictionary?["CFBundleDisplayName"] as? String,
let bundleId = Bundle.main.bundleIdentifier {
let fullVersion = "\(displayName) \(version) (Build \(build))"
print("Full Version: \(fullVersion)")
}
获取Bundle Identifier
如果只需要获取Bundle Identifier,直接使用Bundle的bundleIdentifier属性即可,具体代码如下:
if let bundleId = Bundle.main.bundleIdentifier {
print("Bundle Identifier: \(bundleId)")
}
Objective-C实现
获取Version和Build号
和Swift不一样,Objective-C中获取应用程序的版本号和构建版本号需要使用NSBundel类的实例方法来获取。具体代码如下:
NSBundle *mainBundle = [NSBundle mainBundle];
if (mainBundle) {
NSString *version = [mainBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *build = [mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"];
NSLog(@"Version: %@, Build: %@", version, build);
}
以上代码会输出类似以下的结果:
Version: 1.0, Build: 1
获取完整的Version号
同样,我们可以通过NSBundle类的实例方法来获取应用程序的完整的Version号,具体代码如下:
NSBundle *mainBundle = [NSBundle mainBundle];
if (mainBundle) {
NSString *version = [mainBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *build = [mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"];
NSString *displayName = [mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"];
NSString *fullVersion = [NSString stringWithFormat:@"%@ %@ (Build %@)", displayName, version, build];
NSLog(@"Full Version: %@", fullVersion);
}
获取Bundle Identifier
如果需要获取应用程序的Bundle Identifier,我们同样可以使用NSBundle类的实例方法来获取,具体代码如下:
NSBundle *mainBundle = [NSBundle mainBundle];
if (mainBundle) {
NSString *bundleId = [mainBundle bundleIdentifier];
NSLog(@"Bundle Identifier: %@", bundleId);
}
总结
以上就是在iOS应用程序中如何通过Swift或Objective-C来获取应用程序的版本号、构建版本号以及Bundle Identifier的方法。无论是Swift还是Objective-C,都非常简单易懂。根据实际需要选择使用即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ios获取版本号(swift和oc两种) - Python技术站