如何获取iOS设备型号,截止到2015-11-20之前的所有iOS设备皆可识别
2015-11-20 11:42
573 查看
获取iOS设备型号,截止到2015-11-20之前的所有iOS设备皆可识别
下面是.h文件 声明这个返回值为NSString的类方法
下面是.m文件 实现这个返回值为NSString的类方法
如何使用
首先导入头文件
然后在需要获取设备型号地方这样写,用一个NSString类型的对象接收
也可以给当前app的AppDelegate添加一个DeviceModel属性,一下是AppDelegate的.h文件内容
然后直接想下面这样用就行了
谢谢观看
下面是.h文件 声明这个返回值为NSString的类方法
// GetDeviceModel.h // Created by LiynXu on 15/11/10. // Copyright © 2015年 LiynXu. All rights reserved. // xxl652170427@163.com #import <Foundation/Foundation.h> @interface GetDeviceModel : NSObject + (NSString *)getCurrentDeviceModel; @end
下面是.m文件 实现这个返回值为NSString的类方法
// GetDeviceModel.m // Created by LiynXu on 15/11/10. // Copyright © 2015年 LiynXu. All rights reserved. // xxl652170427@163.com #import "GetDeviceModel.h" #import <sys/sysctl.h> @implementation GetDeviceModel + (NSString *)getCurrentDeviceModel{ int mib[2]; size_t len; char *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NULL, 0); machine = malloc(len); sysctl(mib, 2, machine, &len, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding]; free(machine); 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 Plus"; if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6S"; if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G"; 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:@"iPad4,7"]) return @"iPad Mini 3 "; if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3 "; if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3 "; if ([platform isEqualToString:@"iPad5,1"]) return @"iPad Mini 4 WiFi "; if ([platform isEqualToString:@"iPad5,2"]) return @"iPad Mini 4 WiFi+Cellular "; if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air2 "; if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air2 "; if ([platform isEqualToString:@"iPad6,7"]) return @"iPad Pro WiFi "; if ([platform isEqualToString:@"iPad6,8"]) return @"iPad Pro WiFi+Cellular"; if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator"; if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator"; return platform; } @end
如何使用
首先导入头文件
#import "GetDeviceModel.h"
然后在需要获取设备型号地方这样写,用一个NSString类型的对象接收
NSString *string = [GetDeviceModel getCurrentDeviceModel]; NSLog(@"设备型号:%@",string);
也可以给当前app的AppDelegate添加一个DeviceModel属性,一下是AppDelegate的.h文件内容
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (nonatomic,copy) NSString *DeviceModel; @end
然后直接想下面这样用就行了
self.DeviceModel = [GetDeviceModel getCurrentDeviceModel];
谢谢观看
相关文章推荐
- ios中数字的格式化(金额千分位格式化显示)
- iOS 之应用性能调优的25个建议和技巧
- 传智播客IOS学院-讲师招聘英雄帖
- iOS 之Autolayout(VFL)(一)
- ios如何在Xcode中修改整个项目名字
- iOS 之同步请求、异步请求、GET请求、POST请求
- iOS缓存机制NSUserDefaults
- iOS 支付宝支付
- 手把手教你在ios上开发web应用
- 3.打开bios的方式
- [ios]项目图片不能为jpg的问题
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- iOSview的指定角设置圆弧
- iOS屏幕截图
- iOS开发----关于导航条的研究
- SVN(Subversion)
- 详述iOS国际化
- IOS打电话代码实战
- iOS 采用个推时,未收到推送消息,测试DeviceToken无效
- 在Xcode6中添加Precompile Prefix Header