您的位置:首页 > 产品设计 > UI/UE

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: