//手机类型:iPhone 6NSString* phoneModel = [self iphoneType];//方法在下面//手机系统版本:9.2NSString * iponeM = [[UIDevice currentDevice] systemName];//电池电量CGFloat batteryLevel=[[UIDevicecurrentDevice]batteryLevel];//手机序列号  NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"手机序列号: %@",identifierNumber); //手机别名: 用户定义的名称  比如:"烧饼"的iPhoneNSString* userPhoneName = [[UIDevice currentDevice] name]; NSLog(@"手机别名: %@", userPhoneName); //设备名称  NSString* deviceName = [[UIDevice currentDevice] systemName]; NSLog(@"设备名称: %@",deviceName ); NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // 当前应用名称  NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"]; NSLog(@"当前应用名称:%@",appCurName); // 当前应用软件版本  比如:1.0.1  NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; NSLog(@"当前应用软件版本:%@",appCurVersion); // 当前应用版本号码   int类型 比如:101NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];NSLog(@"当前应用版本号码:%@",appCurVersionNum);

应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来。

NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"];
NSString*appName =[infoDict objectForKey:@"CFBundleDisplayName"];
NSString*text =[NSString stringWithFormat:@"%@ %@",appName,versionNum];
- (NSString *)iphoneType {需要导入头文件:#import <sys/utsname.h>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,2"]) return @"iPhone 7 Plus";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:@"i386"])      return @"iPhone Simulator";if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";return platform;}

目前更新到7和7P 这里的“iPhone6,1”的是设备型号后面更详细的有类似于这种


if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";

iOS 获取当前设备具体型号(当前支持到iPhone7/iPhone7P )、系统版本、电量、序列号、设备名称、应用相关信息获取等相关推荐

  1. Android系统信息获取 之十:移动网络相关信息获取

    Android平台移动网络信息主要是通过TelephonyManager类来获取的,通过前面对TelephonyManager的观察Android系统信息获取 之九:TelephonyManager类 ...

  2. android获取到电信的手机号码,Android基站信息获取以及Sim卡相关信息获取

    概述: 本篇主要介绍Android获取基站信息的方式,除此之外,还有SIM卡相关字段获取,先介绍一些缩写的概念,后续更新代码的写法. 前言:之前有碰到一个需求,需要获取SIM卡的相关属性:IMSI号. ...

  3. 计算机硬盘哪里找到相关信息,获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...

    1.Windows Management Instrumentation(WMI)提供了获取信息的方法,在C#中可用通过System.Management命名空间中的类访问.比如获取CPU ID的方法 ...

  4. 通过PHP 获取身份证相关信息 获取生肖,获取星座,获取年龄,获取性别

    下面展示一些 封装好的方法. /*** 身份证校验是否合法** @param string $idcard 完整的身* 份证号*/ function checkIdCard($idcard = '') ...

  5. ios获取手机型号、系统版本、设备唯一标识符、手机运营商等

    直接代码: //设备唯一标识符NSString *identifierStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString] ...

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

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

  7. Qt windows下获取CPU、主板、硬盘、网卡等相关信息

    首先磁盘ID和磁盘序列号是不一样的,磁盘的一些相关信息可通过以下方式获取 查看步骤,右键我的电脑---->选择属性---->选择设备管理器---->展开磁盘驱动器    就可以看到磁 ...

  8. 窗口信息获取器 Spy4Win v0.20b 中文绿色版

    软件名称:窗口信息获取器 Spy4Win v0.20b 中文绿色版 软件类别:国产软件 运行环境:Windows XP 软件语言:简体中文 授权方式:免费版 软件大小:1.67 MB 软件等级: 整理 ...

  9. 8.0ble设备 android_【胖猴小玩闹】智能门锁与BLE设备安全Part 4:一次BLE智能手环的小玩闹...

    1. 背景 在2019年的某个月份,笔者的朋友给笔者送来了一个手环,让笔者搞一搞.详细询问之后,笔者理清了具体情况:这个手环会收集佩戴者的步数并上报给公司,公司认为步数不够的员工显然是没有业绩的.一个 ...

最新文章

  1. CSDN创始人蒋涛:开源吞噬世界,得开发者得天下
  2. concurrent 底层_万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!
  3. webpack之DefinePlugin使用
  4. 206块积木,72套进阶玩法!玩转STEAM教育,帮你省掉上万块的乐高课
  5. 扩展枚举功能的两种方法
  6. ASP.NET中密码保护,MD5和SHA1算法的使用
  7. servlet 返回可访问文件_Windows 10 可直接访问 Linux 文件
  8. 如何使用初始化列表消除冗余C++代码
  9. CCS安装教程——学习DSP的第一步
  10. 未来教育计算机二级2016版,20163未来教育计算机二级题库(操作题).docx
  11. 超简单的动图制作、利用ps制作简单的动图、把动图导入我们的博客中;
  12. 各国程序员薪资水平,最高都知道、垫底想不到...
  13. PM必备!一文掌握项目管理核心工具——WBS工作分解结构
  14. 测试硬盘怀道的软件,硬盘坏道检测工具(HDDScan)
  15. GDI+ C 画图 输出文字
  16. ZooKeeper系列:Leader选举
  17. Js word格式doc文件下载
  18. detached entity passed to persist问题与解决方案
  19. 在图3-30 中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的A,B和C都是100Mbit/s以太网
  20. #9733;平衡法则在生活中的应用

热门文章

  1. 上海边检部门全力护航浦东机场货运渠道
  2. vue2的proxy代理解决跨域
  3. shell编程实战之read函数基础
  4. electron-vue全局变量
  5. 用计算机弹知心爱人,我冰冷的知心爱人
  6. 动态透明背景源代码(转)
  7. 深入理解Vue 组件之间传值
  8. c语言扫雷简化版小游戏
  9. 华为模拟器eNSP使用SSH远程管理防火墙实验
  10. 日语图片怎么翻译?分享个好用的翻译方法