设备信息大致包括:设备型号,系统名,系统版本,设备名称,设备模式(模拟器or真机),国家,语言,日期格式等等。
// 获取设备型号需要导入头文件
#import <sys/types.h>
#import <sys/sysctl.h>
- (void)viewDidLoad {
[super viewDidLoad];
// 获取设备型号
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = (char *)malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
// 根据获取到的platform得出设备型号(比如**iPhone6,2**对应iPhone5S)
NSLog(@"%@",platform);
}
- UIDevice
- 可获取众多关于设备的信息,详见文档,此处简单列举几个(按住�command键点击UIDevice进去看看)
// 获取设备名
NSString *phoneName = [[UIDevice currentDevice] name];
NSLog(@"%@",phoneName);
// 获取模式
NSString *model = [[UIDevice currentDevice] localizedModel];
NSLog(@"%@",model);
// 获取系统版本
NSString *version = [[UIDevice currentDevice] systemVersion];
NSString *sysName = [[UIDevice currentDevice] systemName];
NSLog(@"%@--%@",sysName,version);
- NSBundle
- 可获取大量关于应用的信息,软件版本,编译环境,应用标识等等
// 直接打印出来,要什么取什么
NSLog(@"%@",[[NSBundle mainBundle] infoDictionary]);
NSString *appIdenti = [[[NSBundle mainBundle] infoDictionary] valueForKeyPath:@"CFBundleIdentifier"];
NSLog(@"%@",appIdenti);
// 获取语言
NSArray *languageArray = [NSLocale preferredLanguages];
NSString *language = [languageArray objectAtIndex:0];
NSLog(@"语言:%@", language);
// 获取国家
NSLocale *locale = [NSLocale currentLocale];
NSString *country = [locale localeIdentifier];
NSLog(@"国家:%@", country);
网友评论