获取设备信息

设备信息大致包括:设备型号,系统名,系统版本,设备名称,设备模式(模拟器or真机),国家,语言,日期格式等等。

  • 获取手机设备型号
// 获取设备型号需要导入头文件
#import 
#import 

- (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);
  • NSLocal
    • 可获得国家,语言等信息
    // 获取语言
    NSArray *languageArray = [NSLocale preferredLanguages];
    NSString *language = [languageArray objectAtIndex:0];
    NSLog(@"语言:%@", language);
    
    // 获取国家
    NSLocale *locale = [NSLocale currentLocale];
    NSString *country = [locale localeIdentifier];
    NSLog(@"国家:%@", country);

你可能感兴趣的:(获取设备信息)