zoukankan      html  css  js  c++  java
  • iOS学习笔记——获取手机信息(UIDevice、NSBundle、NSLocale)

    iOS学习笔记——获取手机信息(UIDevice、NSBundle、NSLocale)

           iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。

    UIDevice

           UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。其中大部分属性都对开发工作具有积极的辅助作用。下面的代码简单的使用UIDevice获取手机属性。

    1. //设备相关信息的获取  
    2.  NSString *strName = [[UIDevice currentDevice] name];  
    3.  NSLog(@"设备名称:%@", strName);//e.g. "My iPhone"  
    4.    
    5.  NSString *strId = [[UIDevice currentDevice] uniqueIdentifier];  
    6.  NSLog(@"设备唯一标识:%@", strId);//UUID,5.0后不可用  
    7.    
    8.  NSString *strSysName = [[UIDevice currentDevice] systemName];  
    9.  NSLog(@"系统名称:%@", strSysName);// e.g. @"iOS"  
    10.    
    11.  NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];  
    12.  NSLog(@"系统版本号:%@", strSysVersion);// e.g. @"4.0"  
    13.    
    14.  NSString *strModel = [[UIDevice currentDevice] model];  
    15.  NSLog(@"设备模式:%@", strModel);// e.g. @"iPhone", @"iPod touch"  
    16.    
    17.  NSString *strLocModel = [[UIDevice currentDevice] localizedModel];  
    18.  NSLog(@"本地设备模式:%@", strLocModel);// localized version of model  

    NSBundle

        bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle。通过这个路径可以获取到应用的信息,例如应用名、版本号等。

    1. //app应用相关信息的获取  
    2.     NSDictionary *dicInfo = [[NSBundle mainBundle] infoDictionary];  
    3.     //    CFShow(dicInfo);  
    4.       
    5.     NSString *strAppName = [dicInfo objectForKey:@"CFBundleDisplayName"];  
    6.     NSLog(@"App应用名称:%@", strAppName);  
    7.       
    8.     NSString *strAppVersion = [dicInfo objectForKey:@"CFBundleShortVersionString"];  
    9.     NSLog(@"App应用版本:%@", strAppVersion);  
    10.       
    11.     NSString *strAppBuild = [dicInfo objectForKey:@"CFBundleVersion"];  
    12.     NSLog(@"App应用Build版本:%@", strAppBuild);  

    NSLocale

         NSLocale可以获取用户的本地化信息设置,例如货币类型,国家,语言,数字,日期格式的格式化,提供正确的地理位置显示等等。下面的代码获取机器当前语言和国家代码。
     
    1. //Getting the User’s Language  
    2.    NSArray *languageArray = [NSLocale preferredLanguages];  
    3.    NSString *language = [languageArray objectAtIndex:0];  
    4.    NSLog(@"语言:%@", language);//en  
    5.      
    6.    NSLocale *locale = [NSLocale currentLocale];  
    7.    NSString *country = [locale localeIdentifier];  
    8.    NSLog(@"国家:%@", country); //en_US  
    9.     
  • 相关阅读:
    DB2 for Z/os Statement prepare
    Foreign key (referential) constraints on DB2 LUW v105
    复制Informational constraints on LUW DB2 v105
    DB2 SQL Mixed data in character strings
    DB2 create partitioned table
    MVC中使用EF的技巧集(一)
    Asp.Net MVC 开发技巧(二)
    Linq使用技巧及查询示例(一)
    Asp.Net MVC 开发技巧(一)
    Asp.Net MVC Identity 2.2.1 使用技巧(八)
  • 原文地址:https://www.cnblogs.com/ios4kerwin/p/4451307.html
Copyright © 2011-2022 走看看