在开发的过程中我们经常要获取设备的参数的参数,比如设备的机型,设备的系统版本,以及设备的电量等,下面我把这些做了一个整理放到了一个类里面!
.h文件
#import <Foundation/Foundation.h>
@interface Function : NSObject
/**
* @author GorLong, 16-09-27 14:09:06
*
* 获取手机系统版本
*
* @return 返回手机系统版本
*/
+ (NSString *)systemVersion;
/**
* @author GorLong, 16-09-27 14:09:44
*
* 获取手机机型
*
* @return 手机机型
*/
+ (NSString *)iphoneType;
/**
* @author GorLong, 16-09-27 14:09:36
*
* 获取系统名称
*
* @return 返回系统版本名称
*/
+ (NSString *)systemName;
/**
* @author GorLong, 16-09-27 14:09:39
*
* 获取手机电量
*
* @return 返回手机电量
*/
+ (NSString *)batteryLevel;
@end
.m文件的实现
#import "Function.h"
#import <sys/utsname.h>
@implementation Function
/**
* @author GorLong, 16-09-27 14:09:06
*
* 获取手机系统版本
*
* @return 返回手机系统版本
*/
+ (NSString *)systemVersion{
return [NSString stringWithFormat:@"iOS %@",[[UIDevice currentDevice] systemVersion]];
}
/**
* @author GorLong, 16-09-27 14:09:44
*
* 获取手机机型
*
* @return 手机机型
*/
+ (NSString *)iphoneType{
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,3"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPhone9,4"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4";
if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air";
if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air";
if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G";
if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G";
if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G";
if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
return platform;
}
/**
* @author GorLong, 16-09-27 14:09:36
*
* 获取系统具体版本 9.1.2
*
* @return 返回系统版本名称
*/
+ (NSString *)systemName{
return [[UIDevice currentDevice] systemName];;
}
/**
* @author GorLong, 16-09-27 14:09:39
*
* 获取手机电量
*
* @return 返回手机电量
*/
+ (NSString *)batteryLevel{
return [NSString stringWithFormat:@"%f",[[UIDevice currentDevice] batteryLevel]];
}
@end