IOS获取设备系统信息(UIDevice,NSLocale)
来源:互联网 发布:阿里云多少钱一个月 编辑:程序博客网 时间:2024/09/15 12:11
设备数据的重要性
了解UIDevice 类
大家与UIDevice类的初次会面可能来自移动设备的定向功能,不过除此之外,UIDevice还提供了多种其它属性、类函数及通告模式,帮助我们全方位了解设备状况。从检测电池电量到定位设备与用户面部的距离,UIDevice所做的工作就是为应用程序提供用户及设备的一切信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。在接下来的教程中,大家会发现其中大部分属性都对开发工作具有积极的辅助作用。
了解 NSLocale 类
NSLocale类帮助我们的应用根据用户所在地的文化与语言习惯提供最令人满意的服务效果。通过及时调整货币类型、小数点分隔符、时间及日期格式等,应用程序能够为用户带来超出预期的智能工作效果,而这一切都是成功软件必须考虑的人文因素。另外,NSLocale还能够用于用户所在的地理位置,当用户联系开发者寻求帮助时,所在地也是很重要的支持信息之一。
获取设备信息
我们先从获取设备机型(检测iPhone、iPodTouch及iPad)与iOS版本入手。下列代码可通过UIDevice获取到设备的具体型号。
- UIDevice *currentDevice = [UIDevice currentDevice];
- NSString *model = [currentDevice model];
- NSString *systemVersion = [currentDevice systemVersion];
在第一行中,UIDevice会返回用户设备的实时运行状态实例。以此为基础,我们能够访问机型及系统版本等属性信息,进而掌握这类最关键的设备数据。
获取用户语言种类
接下来,我们尝试检索用户的语言种类及所在地设置信息。
- NSArray *languageArray = [NSLocale preferredLanguages];
- NSString *language = [languageArray objectAtIndex:0];
- NSLocale *locale = [NSLocale currentLocale];
- NSString *country = [locale localeIdentifier];
想获得用户的首选语言,我们需要使用NSLocale中的prefferedLanguages类函数,它能够返回用户当前语言设定中的信息。而用户的当前位置或者所在国家、地区信息则通过NSLocale对象获取。在实例中,类函数localeIdentifier会返回一条特定代码,其中包含用户所在国家/地区信息。
获取应用程序版本信息
最后,让我们看看用户正在使用的应用程序是哪个版本。
- NSString *appVersion = [[NSBundle mainBundle]
- objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
应用程序中的info.plist文件保存着当前应用版本信息,只要利用kCFBundleVersionKey对mainBundle进行访问,即可返回正确的应用程序版本结果。
记录设备数据
接下来,我们要将收集到的设备数据汇总并记录。
- NSString *deviceSpecs =
- [NSString stringWithFormat:@"%@ - %@ - %@ - %@ - %@",
- model, systemVersion, language, country, appVersion];
- NSLog(@"Device Specs --> %@",deviceSpecs);
在上述代码实例中,每一条信息都被打包成字符串,这样便于直接显示在控制台上。在实例应用中,大家可能希望这些信息以标题或文本内容的形式显示在反馈邮件中。
总结
在与应用程序用户的交流当中,开发人员掌握的设备信息越多、越具体,提出解决方案也就变得越容易。用户的技术水平参差不齐,因此常常难以准确表述自己所遇到的麻烦。通过详细了解他们的设备状况,开发人员能够更好地帮助他们解决问题,借而为用户提供更好的服务与产品使用乐趣。除了文章开头所谈到的理由,事实上访问设备数据也能帮助我们更好地协调同一套系统环境下多款应用之间的相互作用。大家有什么问题或者建议,不妨在评论栏中与其他读者朋友分享。
原文链接:
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-accessing-device-data-with-uidevice-and-nslocale/
UIDevice *device_=[[UIDevicealloc] init];
NSLog(@"设备所有者的名称--%@",device_.name);
NSLog(@"设备的类别-----%@",device_.model);
NSLog(@"设备的的本地化版本-%@",device_.localizedModel);
NSLog(@"设备运行的系统---%@",device_.systemName);
NSLog(@"当前系统的版本---%@",device_.systemVersion);
NSLog(@"设备识别码-----%@",device_.identifierForVendor.UUIDString);
//得到设备屏幕高度
2013-03-08 17:31:13.944 WaiMai[14982:907] 设备所有者的名称--“zhangqingfeng”的 iPhone
2013-03-08 17:31:13.951 WaiMai[14982:907] 设备的类别-----iPhone
2013-03-08 17:31:13.953 WaiMai[14982:907] 设备的的本地化版本-iPhone
2013-03-08 17:31:13.957 WaiMai[14982:907] 设备运行的系统---iPhone OS
2013-03-08 17:31:13.961 WaiMai[14982:907] 当前系统的版本---6.0.1
2013-03-08 17:31:13.969 WaiMai[14982:907] 设备识别码-----7305AFE8-66C0-4C6B-8173-1AA61E9F837D
2013-03-08 17:31:14.178 WaiMai[14982:1703]
- IOS获取设备系统信息(UIDevice,NSLocale)
- 【最新iOS获取设备信息】:UIDevice,NSBundle,NSLocale
- iOS学习中获取手机信息(UIDevice、NSBundle、NSLocale)
- ios 获取手机信息(UIDevice、NSBundle、NSLocale)
- 利用UIDevice,NSBundle,NSLocale获取手机信息
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- UIDevice、NSBundle、NSLocale-获取手机信息
- 获取手机信息(UIDevice、NSLocale、NSBundle)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- 获取手机信息(UIDevice、NSBundle、NSLocale)
- UIDevice 设备信息 iOS
- iOS学习笔记(十三)——获取手机信息(UIDevice、NSBundle、NSLocale)
- iOS学习笔记(十三)——获取手机信息(UIDevice、NSBundle、NSLocale)
- iOS学习笔记(十三)——获取手机信息(UIDevice、NSBundle、NSLocale)
- WebPentester学习笔记
- C++ 学习笔记(一)
- 【转】Thread.sleep(0)的意义
- eclipse git window xp下 服务端搭建与使用(傻瓜教程 二)
- VideoUrlParser互联网视频地址分析工具,支持优酷、土豆等
- IOS获取设备系统信息(UIDevice,NSLocale)
- Android读取 meta_data元素的数据
- Exchange Server 2013 高可用部署系列(三)客户端访问高可用——网络负载均衡(NLB)
- MFC框架程序中OnIdle
- VIM自动补全C++
- CURL伪造IP和来路,还可以进行投票
- JavaWeb学习篇之----Servlet
- C++ primer plus 4-6
- csdn代码托管平台首次使用过程记录(全图形操作)