iOS中获取设备数据以及如何获取应用信息之UIDevice的用法
2015-05-29 10:00
1106 查看
在IOS的APP的应用开发的过程中,有时候需要自动收集用户设备、系统信息、应用信息等等。
比如在在app中加入收集用户反馈功能,不仅用户的反馈能够提交到服务器,包括上述信息同时也自动提交到服务器。对用户反馈bug特别有用。
下面是他们的获取方法:[cpp] view
plaincopy
//设备相关信息的获取
NSString *strName = [[UIDevice currentDevice] name];
NSLog(@"设备名称:%@", strName);
NSString *strId = [[UIDevice currentDevice] uniqueIdentifier];
NSLog(@"设备唯一标识:%@", strId);
NSString *strSysName = [[UIDevice currentDevice] systemName];
NSLog(@"系统名称:%@", strSysName);
NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];
NSLog(@"系统版本号:%@", strSysVersion);
NSString *strModel = [[UIDevice currentDevice] model];
NSLog(@"设备模式:%@", strModel);
NSString *strLocModel = [[UIDevice currentDevice] localizedModel];
NSLog(@"本地设备模式:%@", strLocModel);
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
NSLog(@"版本号:%f\n", version);
//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);
但是,在IOS5之后,原来获取IPhone的Device Id的接口:[[UIDevice currentDevice] uniqueIdentifier] 被废弃了。
uinqueIdentifier在UIDevice.h中的定义如下:
[cpp] view
plaincopy
@property(nonatomic,readonly,retain) NSString *uniqueIdentifier NS_DEPRECATED_IOS(2_0, 5_0);
// a string unique to each device based on various hardware info.
意思是iOS2.0以上及iOS5.0以下的系统可用,但不建议使用.Apple有可能在ios5.0之后删除该函数.
经过测试,未越狱的iPhone,系统版本为5.0.1,依然可以获取UDID.。
关于他的代替方法可以参考
http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now http://www.cocoachina.com/bbs/read.php?tid=92404 http://www.cnblogs.com/wgw8299/articles/2417579.html
相关文章推荐
- 128 Longest Consecutive Sequence
- 关灯游戏,UI教程第二节百行代码解决
- 条款20:以const-reference传递替换by-value传递
- EasyUI-panel 内嵌页面上的js无法被执行
- 修改class默认编译目录build
- 检测到有潜在危险的 Request.Form 值
- Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
- Dui界面布局无法响应鼠标点击消息响应
- Hadoop报错 " Message missing required fields: callId, status"解决方案
- UIAlertView及UIActionSheet 在ios8极其以下版本的兼容问题解决方案
- EasyUI Dialog with iFrame
- 学习笔记:UITabBarController使用详解
- JPA注解-@SequenceGenerator
- Mysql缓存Query Cache原理
- 关于EasyUIDataGrid查询功能
- 用c#开发微信 (8) 微渠道 - 推广渠道管理系统 3 UI设计及后台处理
- media query(媒体查询)和media type(媒体类型)
- Troubleshooting Guide ORA-3136: WARNING Inbound Connection Timed Out (文档 ID 465043.1)
- 前端框架 EasyUI (2)页面布局 Layout
- why constrained regression and Regularized regression equivalent