相信学习过Android开发的小伙伴都知道如何获取当前应用的应用名、版本名、版本号等信息吧!
Android Context通过PackageManager、PackageInfo可获取得到当前应用的相关信息。
相对的,IOS则通过开发库所提供NSBundle中的mainBundle其内部的infoDictionary方法获取。
AppInfo.h
#import <UIKit/UIKit.h>
@class AppInfo;
/**
* app相关信息
**/
@interface AppInfo : NSObject
/**
* app名称
**/
@property (nonatomic, strong) NSString *appName;
/**
* app版本
**/
@property (nonatomic, strong) NSString *appVersion;
/**
* app build版本
**/
@property (nonatomic, strong) NSString *appBuildVersion;
@end
AppInfo.m
#import <Foundation/Foundation.h>
#import "AppInfo.h"
@implementation AppInfo
static NSDictionary *infoDictionary;
- (instancetype)init
{
self = [super init];
if (self) {
infoDictionary = [[NSBundle mainBundle] infoDictionary];//获取app相关信息
}
return self;
}
- (NSString *)appName{
if (infoDictionary) {
NSString *aName = [infoDictionary objectForKey:@"CFBundleDisplayName"];
if (aName) {
return aName;
}
}
return @"";
}
- (NSString *)appVersion{
if (infoDictionary) {
NSString *aVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
if (aVersion) {
return aVersion;
}
}
return @"";
}
- (NSString *)appBuildVersion{
if (infoDictionary) {
NSString *aBuildVersion = [infoDictionary objectForKey:@"CFBundleVersion"];
if (aBuildVersion) {
return aBuildVersion;
}
}
return @"";
}
@end
此处,所获取到的应用相关信息,是根据所配置的Info.plist文件中获取的。
本文介绍了一种在iOS中获取应用程序相关信息的方法,通过NSBundle的mainBundle及其infoDictionary来获取包括应用程序名称、版本号及构建版本号在内的关键信息。
2262

被折叠的 条评论
为什么被折叠?



