一些常用手机信息获取方法:
[[NSProcessInfo processInfo] hostName] //globallyUniqueString 唯一的标示符,每次调用都会不一样,可以用作一些临时缓存文件的名字 [[NSProcessInfo processInfo] globallyUniqueString] //操作系统名称 [[NSProcessInfo processInfo] operatingSystemName] //操作系统版本 [[NSProcessInfo processInfo] operatingSystemVersionString] //物理内存 [[NSProcessInfo processInfo] physicalMemory] //进程名称 [[NSProcessInfo processInfo] processName] //供应商标识 [UIDevice currentDevice].identifierForVendor //设备类型(iPhone、iPad) [UIDevice currentDevice].userInterfaceIdiom //设备名字 [UIDevice currentDevice].name //系统名字 [UIDevice currentDevice].systemName //系统版本 [UIDevice currentDevice].systemVersion //模型 [UIDevice currentDevice].model //本地化的模型 [UIDevice currentDevice].localizedModel //电池状态 [UIDevice currentDevice].batteryLevel //HostName: dounen //GlobalUniqueString: B4B1EC8C-A805-434B-9D57-106ED70C214A-3528-00000AF6A42D73D7 //OperatingSystemName: NSMACHOperatingSystem //OperatingSystemVersion: Version 7.1.1 (Build 11D201) //PhysicalMem: 1035976704 //ProcessName: CityOfHeart //UniqueId: <__NSConcreteUUID 0x16693c80> 5ACF8DA1-FAC1-4D70-AB1F-BB696188C5CA //userInterfaceIdiom: 0 //Name: 童年 //SystemName: iPhone OS //SystemVersion: 7.1.1 //Model: iPad //LocalizeModel: iPad //BatteryLevel: -1.000000
在获取版本号问题上,开发中经常使用的是 [[UIDevice currentDevice].systemVersion floatValue];
但是这样取到是不准确的,比如有的系统版本是8.2,这样取到的有的时候是8.1998,这样你 手机系统版本号>=8.2的话就会出现问题,
并且有的时候手机系统版本号是9.2.1,你取出来的是9.2,这样比较可能也会出现问题,
所以,还是使用字符串判断版本号准确些:
/** 版本号比较 */ NSComparisonResult result = [@"9.2.1" compare:@"9.2" options:NSCaseInsensitiveSearch]; if (result == NSOrderedDescending) { /** NSOrderedDescending 大于 */ /** 大于 */ }