为什么80%的码农都做不了架构师?>>>   

切记 导入头文件哦

.h

#import "sys/utsname.h"
+ (NSString *)getCurrentDeviceModel;//设备号 获取
+(void)getDevicesInfo;//app相关信息

.m

+(NSString *)getCurrentDeviceModel
{struct utsname systemInfo;uname(&systemInfo);NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";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 (A1213)";if ([platform isEqualToString:@"iPod2,1"])   return @"iPod Touch 2G (A1288)";if ([platform isEqualToString:@"iPod3,1"])   return @"iPod Touch 3G (A1318)";if ([platform isEqualToString:@"iPod4,1"])   return @"iPod Touch 4G (A1367)";if ([platform isEqualToString:@"iPod5,1"])   return @"iPod Touch 5G (A1421/A1509)";if ([platform isEqualToString:@"iPad1,1"])   return @"iPad 1G (A1219/A1337)";if ([platform isEqualToString:@"iPad2,1"])   return @"iPad 2 (A1395)";if ([platform isEqualToString:@"iPad2,2"])   return @"iPad 2 (A1396)";if ([platform isEqualToString:@"iPad2,3"])   return @"iPad 2 (A1397)";if ([platform isEqualToString:@"iPad2,4"])   return @"iPad 2 (A1395+New Chip)";if ([platform isEqualToString:@"iPad2,5"])   return @"iPad Mini 1G (A1432)";if ([platform isEqualToString:@"iPad2,6"])   return @"iPad Mini 1G (A1454)";if ([platform isEqualToString:@"iPad2,7"])   return @"iPad Mini 1G (A1455)";if ([platform isEqualToString:@"iPad3,1"])   return @"iPad 3 (A1416)";if ([platform isEqualToString:@"iPad3,2"])   return @"iPad 3 (A1403)";if ([platform isEqualToString:@"iPad3,3"])   return @"iPad 3 (A1430)";if ([platform isEqualToString:@"iPad3,4"])   return @"iPad 4 (A1458)";if ([platform isEqualToString:@"iPad3,5"])   return @"iPad 4 (A1459)";if ([platform isEqualToString:@"iPad3,6"])   return @"iPad 4 (A1460)";if ([platform isEqualToString:@"iPad4,1"])   return @"iPad Air (A1474)";if ([platform isEqualToString:@"iPad4,2"])   return @"iPad Air (A1475)";if ([platform isEqualToString:@"iPad4,3"])   return @"iPad Air (A1476)";if ([platform isEqualToString:@"iPad4,4"])   return @"iPad Mini 2G (A1489)";if ([platform isEqualToString:@"iPad4,5"])   return @"iPad Mini 2G (A1490)";if ([platform isEqualToString:@"iPad4,6"])   return @"iPad Mini 2G (A1491)";if ([platform isEqualToString:@"i386"])      return @"iPhone Simulator";if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";NSLog(@"当前设备:%@",platform);return platform;}
+(void)getDevicesInfo
{//    IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等NSLog(@"name: %@", [[UIDevice currentDevice] name]);NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);NSLog(@"model: %@", [[UIDevice currentDevice] model]);NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];CFShow((__bridge CFTypeRef)(infoDictionary));// app名称NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];// app版本NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];// app build版本NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];NSLog(@"当前APP名字%@,APP版本%@,APP build版本%@",app_Name,app_Version,app_build);
}

转载于:https://my.oschina.net/rainwz/blog/619384

苹果设备信息获取(截止到2016-02-23)相关推荐

  1. Windows设备信息获取:(摄像头,声卡为例)Qt,WindowsAPI对比说明(2)

    Windows设备信息获取:(摄像头,声卡为例)Qt,WindowsAPI对比说明 补充说明 问题 QT摄像头相关信息获取(分辨率,图像格式) WindowsAPI,win10,win7不兼容问题 兼 ...

  2. Android 手机设备信息获取使用详解

    Android 手机是我们常用的工具之一,买手机之前,手机厂商会提供一些手机参数给我们,那么问题来了,我们该如何获取手机上的参数信息呢? 通过本文你讲了解到获取手机常用信息的基本方法. 获取手机基本信 ...

  3. 史上最全的iOS各种设备信息获取总结(iPhone X 详细信息已更新)

    2016.07.01 更新至iPhone X 新增设备颜色的获取 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获取方式: 点击下载以上展示效果的G ...

  4. iOS: iOS各种设备信息获取

    Author:si1ence Link:http://www.jianshu.com/p/b23016bb97af 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述 ...

  5. 史上最全的iOS各种设备信息获取总结(iPhone8/iPhone X 已更新)

    不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...

  6. 史上最全的iOS各种设备信息获取总结(iPhone 12已更新)

    更新至iPhone 11   [转] 添加了iphone12的设备 > 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获取方式: ![imag ...

  7. 史上最全的iOS各种设备信息获取总结

    http://www.cocoachina.com/ios/20171024/20890.html 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获 ...

  8. android获取ro._Android 简单的设备信息获取

    在用python写自动化测试脚本的脚本的时候通常回需要获取一些android设备的硬件信息.网上给的很多方案都是通常通过/system/build.prop中去获取,但是回遇到permission d ...

  9. Android设备信息获取

    近个多月之前整理的,记录,共享. 1)android 获取设备型号.OS版本号: import android.os.Build; // ..... Build bd = new Build(); S ...

最新文章

  1. php新浪api,php调用新浪短链接API的方法,php调用新浪api_PHP教程
  2. 滚动数组~\(≧▽≦)/~
  3. 2015美国数学建模a代码c语言,1985~2015美国大学生数学建模竞赛题目集锦.docx
  4. linux系统之间无密传输,scp采用无密码在两台linux服务器之间传输数据(示例代码)...
  5. docker 安装的东西都在哪儿_热水器越来越不流行了,如今都安装这东西,好用安全,还省电费...
  6. oracle存储过程数量,Oracle:存储过程的可变参数数量
  7. ubuntu18.04 下安装搜狗输入法
  8. python文件数据类型_python 数据类型 ---文件一
  9. winform textbox文本框根据内容自动调整高度
  10. [分享]一次中移物联网校园招聘javaweb的笔试题
  11. HDU 1814 Two_Sat
  12. 双向链表:P1996约瑟夫问题的解决方法
  13. 微信小程序:喝酒娱乐小游戏助力神器
  14. ARM CORTEX-M3简介
  15. FAT12模拟-C语言读取
  16. “FCoE全解系列”之融合网络方案和典型组网
  17. FM4057S单节锂电池线性充电芯片的学习
  18. 亲缘关系 linux,群体遗传学亲缘关系分析
  19. 如何使用css样式将正方形图片显示为圆形图片布局
  20. iPhone 4奇货可居真相透视

热门文章

  1. exception EXC_RESOURCE - WAKEUPS 分析(二)
  2. 物流运输信息管理系统设计与实现
  3. CUBEMX+CANOPEN教程四:canopen小结
  4. java实现字符串中的字母排序
  5. 可控硅过零检测程序和电路。 用旋钮编码电位器可实现旋钮调压,短按开关机
  6. oracle和mysql判断空值替换函数
  7. RGui下R Console无法在英文模式下输入引号问题
  8. FFmpeg命令(一)、使用filter_complex命令拼接视频
  9. Shiro内部过滤器执行顺序
  10. 解决Win10系统更新报0x800f0922错误代码,点关机却重启等问题