UIDevice获取设备数据以及如何获取应用信息

简介: <h1 id="codeintro" style="margin:15px 0px 0px; padding:0px; color:rgb(54,46,43); line-height:26px; border:0px; width:740px; font-size:13px; font-weight:normal; font-family:'Helvetica Neue','Luxi S

在IOS的APP的应用开发的过程中,有时候需要自动收集用户设备、系统信息、应用信息等等。 
比如在在app中加入收集用户反馈功能,不仅用户的反馈能够提交到服务器,包括上述信息同时也自动提交到服务器。对用户反馈bug特别有用。


下面是他们的获取方法:
[cpp]  view plain copy
  1. //设备相关信息的获取  
  2.     NSString *strName = [[UIDevice currentDevice] name];  
  3.     NSLog(@"设备名称:%@", strName);  
  4.       
  5.     NSString *strId = [[UIDevice currentDevice] uniqueIdentifier];  
  6.     NSLog(@"设备唯一标识:%@", strId);  
  7.       
  8.     NSString *strSysName = [[UIDevice currentDevice] systemName];  
  9.     NSLog(@"系统名称:%@", strSysName);  
  10.       
  11.     NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];  
  12.     NSLog(@"系统版本号:%@", strSysVersion);  
  13.       
  14.     NSString *strModel = [[UIDevice currentDevice] model];  
  15.     NSLog(@"设备模式:%@", strModel);  
  16.       
  17.     NSString *strLocModel = [[UIDevice currentDevice] localizedModel];  
  18.     NSLog(@"本地设备模式:%@", strLocModel);  
  19.       
  20.     float version = [[[UIDevice currentDevice] systemVersion] floatValue];  
  21.     NSLog(@"版本号:%f\n", version);  
  22.       
  23.     //app应用相关信息的获取  
  24.     NSDictionary *dicInfo = [[NSBundle mainBundle] infoDictionary];  
  25. //    CFShow(dicInfo);  
  26.       
  27.     NSString *strAppName = [dicInfo objectForKey:@"CFBundleDisplayName"];  
  28.     NSLog(@"App应用名称:%@", strAppName);  
  29.       
  30.     NSString *strAppVersion = [dicInfo objectForKey:@"CFBundleShortVersionString"];  
  31.     NSLog(@"App应用版本:%@", strAppVersion);  
  32.       
  33.     NSString *strAppBuild = [dicInfo objectForKey:@"CFBundleVersion"];  
  34.     NSLog(@"App应用Build版本:%@", strAppBuild);  

但是,在IOS5之后,原来获取IPhone的Device Id的接口: [[ UIDevice  currentDevice uniqueIdentifier ] 被废弃了。
uinqueIdentifier在UIDevice.h中的定义如下:
[cpp]  view plain copy
  1. @property(nonatomic,readonly,retain) NSString    *uniqueIdentifier  NS_DEPRECATED_IOS(2_0, 5_0);  
  2. // 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
目录
相关文章
|
机器学习/深度学习 算法 机器人
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
801 5
|
10月前
|
人工智能 JSON 自然语言处理
一键生成毛茸萌宠形象,基于函数计算极速部署 ComfyUI 生图系统
本次方案将帮助大家实现使用阿里云产品函数计算FC,只需简单操作,就可以快速配置ComfyUI大模型,创建出你的专属毛茸茸萌宠形象。内置基础大模型+常用插件+部分 Lora,以风格化图像生成只需用户让体验键配置简单方便,后续您可以根据自己的需要更换需要的模型、Lora、增加插件。
581 14
解决java.lang.IllegalStateException: Failed to load ApplicationContext错误~
解决java.lang.IllegalStateException: Failed to load ApplicationContext错误~
1288 0
|
12月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
344 6
|
机器学习/深度学习 人工智能 算法
利用机器学习预测股市趋势:一个实战案例
【9月更文挑战第5天】在这篇文章中,我们将探索如何使用机器学习技术来预测股市趋势。我们将通过一个简单的Python代码示例来演示如何实现这一目标。请注意,这只是一个入门级的示例,实际应用中可能需要更复杂的模型和更多的数据。
|
存储 编译器 C语言
C语言字符常量详解
C语言字符常量详解
1092 0
Pyinstaller打包配置UPX缩小程序包大小,打包时出现UPX is not available处理方法
Pyinstaller打包配置UPX缩小程序包大小,打包时出现UPX is not available处理方法
709 0
|
网络协议 应用服务中间件 网络性能优化
什么是SIP协议?
什么是SIP,这里讲的SIP是一种VoIP网络通信协议,首先我们要知道要了解网络电话协议有哪些
1169 0
|
算法 安全 开发工具
阿里云云码广告联盟高效助力中小App流量变现
EMAS 增添新能力,开发者通过对EMAS统一SDK集成,轻松接入云码,从而实现应用的流量快速变现。
2862 0
阿里云云码广告联盟高效助力中小App流量变现
好用!阿里云商标查询入口支持图形检索45商标分类注册风险直观显示
亲测阿里云商标注册查询工具支持图形检索很好用!
1931 0
好用!阿里云商标查询入口支持图形检索45商标分类注册风险直观显示

热门文章

最新文章