iOS 的APP在开发的过程中,有时候为了bug的跟踪,需要收集用户使用手机的设备,手机系统版本,手机型号,以及应用版本,应用信息等等。这些的信息便于开发者诊断问题,是能够通过开发api可以获取到的,iOS的SDK中提供了 UIDevice,NSBundle,NSLocale.
01 :UIDevice 帮助我们全方位的了解所使用的设备的信息,
A:NSString *userPhoneNameStr = [[UIDevice currentDevice] name];//手机名称
B:NSString *deviceNameStr = [[UIDevice currentDevice] systemName];//手机系统名称C:NSString *systemVersionStr = [[UIDevice currentDevice] systemVersion];//手机系统版本号
D: NSString *phoneModelStr = [[UIDevice currentDevice] model];//类型 是模拟器还是真机
E:NSString *phoneModelStr = [[UIDevice currentDevice] model];//类型 是模拟器还是真机
F:NSString *phoneUDIDStr = [[UIDevice currentDevice] model];//设备唯一标示码
02:NSBundle ,这是一个目录,我们称之为程序的main bundle,通过这个目录获取应用的信息,比如说应用的名称,版本号,应用软件的版本。
//app 应用信息的获取字典类型,
NSDictionary * dicInfo =[[NSBundle mainBundle] infoDictionary];
NSString * appNameStr =[dicInfo objectForKey:@"CFBundleName"]; //当前应用名称
NSString * appVersionStr =[dicInfo objectForKey:@"CFBundleShortVersionString"];//当前应用版本
NSString * appBuildStr =[dicInfo objectForKey:@"CFBundleVersion"];//当前应用版本号码
NSString * appXcodeStr =[dicInfo objectForKey:@"DTXcode"];//Xcode 版本
NSString * appSDKNameStr = [dicInfo objectForKey:@"DTSDKName"];//SDK 的版本。
NSLog(@"01:当前应用名称:%@",appNameStr);
NSLog(@"02:当前应用版本:%@",appVersionStr);
NSLog(@"03:当前应用版本号:%@",appBuildStr);
NSLog(@"04:开发的Xcode版本:%@",appXcodeStr);
NSLog(@"05:SDK的版本:%@",appSDKNameStr);
标注:只选择了几个经常用到的信息,dicInfo一共29个值,
03NSLocale 可以获取用户的本地化信息的设置,比如说:国家,语言,日期的格式,提供正确的地理位置。