美文网首页
获取设备信息

获取设备信息

作者: SanMao_SFW | 来源:发表于2015-11-24 11:43 被阅读215次

    设备信息大致包括:设备型号,系统名,系统版本,设备名称,设备模式(模拟器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);
    
    • NSLocal
      • 可获得国家,语言等信息
        // 获取语言
        NSArray *languageArray = [NSLocale preferredLanguages];
        NSString *language = [languageArray objectAtIndex:0];
        NSLog(@"语言:%@", language);
        
        // 获取国家
        NSLocale *locale = [NSLocale currentLocale];
        NSString *country = [locale localeIdentifier];
        NSLog(@"国家:%@", country);
    

    相关文章

      网友评论

          本文标题:获取设备信息

          本文链接:https://www.haomeiwen.com/subject/ejmrhttx.html