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. vue5 过滤器 模版

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. C# Cache的类方法

    public class DataCache    {        /// <summary>        /// 获取当前应用程序指定CacheKey的Cache值        / ...

  3. Atcoder B - Moderate Differences

    http://agc017.contest.atcoder.jp/tasks/agc017_b B - Moderate Differences Time limit : 2sec / Memory ...

  4. vue踩坑- 报错npm ERR! cb() never called!

    在vue项目中引入饿了么elementUI组件的步骤之中,出现以下的错误: D:\my-project-first>npm i element-ui -S Unhandled rejection ...

  5. 一招制胜---详解分布式系统里session同步

    一招制胜---详解分布式系统里session同步 几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同 ...

  6. Html学习总结(1)——理解Html的head

    HTML文档的head部分,通常包括指定页面标题,为搜索引擎提供关于页面本身的信息,加载样式表,以及加载JavaScript文件(出于性能考虑,多数时候放在页面底部</body>标签结束前 ...

  7. 洛谷 P2355 团体操队形

    P2355 团体操队形 题目背景 X中学要团体操比赛了哦.队形该怎样排呢? 题目描述 有n(n<=100000)个团体操队员编号分别为1~n,参加运动会开幕式的团体操表演.其基本队形(分连续队形 ...

  8. cogs 1446. [Commando War,Uva 11729]突击战

    1446. [Commando War,Uva 11729]突击战 ★   输入文件:commando.in   输出文件:commando.out   简单对比时间限制:1 s   内存限制:64 ...

  9. Starting nagios:This account is currently not available.

    解决方式: 又一次安装php 再重新启动apache 再启动nagios 再訪问:http://ip/nagios 我的问题就是 解决的.

  10. 杭电5137How Many Maos Does the Guanxi Worth

    How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/5 ...