在开发中,需要获取当前设备的一些信息,可以通过UIDevice,NSbundle,NSlocale获取.

UIDevice

UIDevice 提供了多种属性,类函数及状态通知,可以检测手机电量,定位,感应,机型,当前系统版本等等.

//设备相关信息的获取  
 NSString *strName = [[UIDevice currentDevice] name];  
 NSLog(@"设备名称:%@", strName);//e.g. "My iPhone"  
    
 NSString *strSysName = [[UIDevice currentDevice] systemName];  
 NSLog(@"系统名称:%@", strSysName);// e.g. @"iOS"  
   
 NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];  
 NSLog(@"系统版本号:%@", strSysVersion);// e.g. @"4.0"  
   
 NSString *strModel = [[UIDevice currentDevice] model];  
 NSLog(@"设备模式:%@", strModel);// e.g. @"iPhone", @"iPod touch"  
   
 NSString *strLocModel = [[UIDevice currentDevice] localizedModel];  
 NSLog(@"本地设备模式:%@", strLocModel);// localized version of model 

NSBundle  

bundle 是一个目录,其中包含了程序会使用到的资源,这些资源包含了图像,声音,编译好的代码,通过这些亦可获取一些应用信息.

/app应用相关信息的获取  
    NSDictionary *dicInfo = [[NSBundle mainBundle] infoDictionary];  
    //    CFShow(dicInfo);  
      
    NSString *strAppName = [dicInfo objectForKey:@"CFBundleDisplayName"];  
    NSLog(@"App应用名称:%@", strAppName);  
      
    NSString *strAppVersion = [dicInfo objectForKey:@"CFBundleShortVersionString"];  
    NSLog(@"App应用版本:%@", strAppVersion);  
      
    NSString *strAppBuild = [dicInfo objectForKey:@"CFBundleVersion"];  
    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