在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.。
时间: 2024-10-05 06:22:18