更加精准的获取IOS设备信息

更准确的获取IOS设备信息

获取IOS 设备信息

简单的获取设备信息的话,参考UIDevice API就可以了

NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]);  // 获取uuid
NSLog(@"name: %@", [[UIDevice currentDevice] name]); // 获取用户名称
NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]); // 获取设备系统名称 :iPhone OS
NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]); // 获取系统版本
NSLog(@"model: %@", [[UIDevice currentDevice] model]); // 获取设备,如Iphone
NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);  获取设备,如Iphone

But,But

获取更加精准的设备信息

有的时候后台需要统计一些数据,就需要获取更加精准的设备信息,不过目前只能通过获取机器相关信息才能够取得到,下面是示例代码

+ (NSString *)getDeviceInfo{
// 需要#import "sys/utsname.h"
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
if ([deviceString isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
if ([deviceString isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
if ([deviceString isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
if ([deviceString isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
if ([deviceString isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
if ([deviceString isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
if ([deviceString isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
if ([deviceString isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
if ([deviceString isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
if ([deviceString isEqualToString:@"iPod1,1"])   return @"iPod Touch 1G";
if ([deviceString isEqualToString:@"iPod2,1"])   return @"iPod Touch 2G";
if ([deviceString isEqualToString:@"iPod3,1"])   return @"iPod Touch 3G";
if ([deviceString isEqualToString:@"iPod4,1"])   return @"iPod Touch 4G";
if ([deviceString isEqualToString:@"iPad1,1"])   return @"iPad";
if ([deviceString isEqualToString:@"iPad2,1"])   return @"iPad 2 (WiFi)";
if ([deviceString isEqualToString:@"iPad2,2"])   return @"iPad 2 (GSM)";
if ([deviceString isEqualToString:@"iPad2,3"])   return @"iPad 2 (CDMA)";
if ([deviceString isEqualToString:@"i386"])      return @"Simulator";
if ([deviceString isEqualToString:@"x86_64"])    return @"Simulator";
return deviceString;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 在我的印象里卢梭和尼采常常可以连在一起,一样的理想主义,一样的愤世嫉俗,略带点神经质,极端完美主义尽管不切实际。 ...
    单禅阅读 1,440评论 0 4
  • 内容简介 本书主要介绍如何利用3D固定流水线编写游戏引擎,以及在已编写引擎的基础上开发游戏,全书共分10章,主要...
    姜雪伟阅读 2,006评论 1 1
  • 听南音,像偶遇一位故人。话还不及说,过往幕幕一帧一帧闪过,如老电影,如抽屉深处泛黄的相册。 有些物件可以留住时间。...
    生活恋情阅读 473评论 0 0
  • 《第18章 实际应用》是个总结章。如戴维·艾伦所说,要想生活、工作齐头并进,遥遥领先,并不是让一切事务井井有...
    进釆阅读 114评论 0 0