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.     

ios 获取手机信息(UIDevice、NSBundle、NSLocale)的更多相关文章

  1. iOS开发 获取手机信息(UIDevice,NSBundle,NSlocale)

    在开发中,需要获取当前设备的一些信息,可以通过UIDevice,NSbundle,NSlocale获取. UIDevice UIDevice 提供了多种属性,类函数及状态通知,可以检测手机电量,定位, ...

  2. iOS 整理笔记 获取手机信息(UIDevice、NSBundle、NSLocale)

    /*    iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发ap ...

  3. ios 获取手机相关的信息

    获取手机信息      应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来 //获取版本号 NSDictionary *infoDict = [[NSBundl ...

  4. 【风马一族_Android】Android 从命令行界面获取手机信息

    Android 从命令行界面获取手机信息 1: cmd 打开命令行界面 2:adb devices   获取与电脑相连的设备,例如:模拟器.真机(手机) (右击“标记”,选择设备名称,点击“Ctrl+ ...

  5. Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息

    Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...

  6. android 获取手机信息工具类

    package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.Telep ...

  7. 微信小程序开发(六)获取手机信息

    // succ.js var app = getApp() Page({ data: { mobileModel: '', // 手机型号 mobileePixelRatio: '', // 手机像素 ...

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

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

  9. iOS获取手机相关信息

    iOS具体的设备型号: #include <sys/types.h> #include <sys/sysctl.h> - (void)test { //手机型号. size_t ...

随机推荐

  1. hdoj--1034--Hidden String(dfs)

    Hidden String Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  2. EF数据迁移命令

    在包管理器控制台中输入命令“enable-migrations”,然后按Enter键!Visual Studio将生成一个名为“Configurations.cs”的文件; 你可以安全地忽略它,但你需 ...

  3. LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下

    出于工作需要,准备把LINQ的相关知识梳理一遍,希望能填补下之前学习漏掉的或是没有注意的地方,也为未来减轻压力~ LINQ查询表达式的基本语法很容易掌握,它使用C#常见的语言构造,从外观上看,和我们常 ...

  4. GridView单元格取值显示为&nbsp;

    在通过GridView取一个单元格(cell)的值时,数据库中为NULL,而页面上显示为空格.发现通过gridview.cell[i].text取出来的值为 ,导致获取数据出现问题. 解决方法: 一. ...

  5. JQ遍历 input 并修改name属性

    1.执行完克隆行后,会出现name属相相同的问题 function addRow(){ var obj = $("tr[name='info']:last"); var objCl ...

  6. CSUOJ 1531 Jewelry Exhibition

    Problem G Jewelry Exhibition To guard the art jewelry exhibition at night, the security agency has d ...

  7. ArcGIS engine中Display类库 (局部刷新)

    转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...

  8. 高速排序——JAVA实现(图文并茂)

    高快省的排序算法 有没有既不浪费空间又能够快一点的排序算法呢?那就是"高速排序"啦! 光听这个名字是不是就认为非常高端呢. 如果我们如今对"6 1 2 7 9 3 4 5 ...

  9. Log4j2 与 SpringMVC 整合

    log4j2不仅仅是log4j的简单升级,而是整个项目的重构.官网地址:http://logging.apache.org/log4j/2.x/,大家能够从官网的介绍看出它相比log4j第1代的种种长 ...

  10. C#中函数的使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...