IOS -iphone设备信息读取

1.获取当前设备所有者名称:



2.获取设备的类别,是iPhone,iPod,还是iPad


这里要获取iPhone的具体类型,要有如下代码:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. - (NSString *)deviceString {  
  2.   
  3.     // 需要#import "sys/utsname.h"  
  4.     struct utsname systeminfo;  
  5.     uname(&systeminfo);  
  6.       
  7.     NSString *deviceString = [NSString stringWithCString:systeminfo.machine encoding:NSUTF8StringEncoding];  
  8.       
  9.     //iPhone  
  10.     if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";  
  11.     if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";  
  12.     if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";  
  13.     if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4";  
  14.     if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4";  
  15.     if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";  
  16.       
  17.     if ([deviceString isEqualToString:@"iPhone5,1"]) return @"iPhone 5";  
  18.     if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5";  
  19.     if ([deviceString isEqualToString:@"iPhone5,3"]) return @"iPhone 5C";  
  20.     if ([deviceString isEqualToString:@"iPhone5,4"]) return @"iPhone 5C";  
  21.       
  22.     if ([deviceString isEqualToString:@"iPhone6,1"]) return @"iPhone 5S";  
  23.     if ([deviceString isEqualToString:@"iPhone6,2"]) return @"iPhone 5S";  
  24.       
  25.     if ([deviceString isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";  
  26.     if ([deviceString isEqualToString:@"iPhone7,2"]) return @"iPhone 6";  
  27.       
  28.     if ([deviceString isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";  
  29.     if ([deviceString isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";  
  30.       
  31.       
  32.     //iPod  
  33.     if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";  
  34.     if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";  
  35.     if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";  
  36.     if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";  
  37.     if ([deviceString isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";  
  38.   
  39.     return nil;  
  40. }  

3.设备本地化类别:



4.获取设备的UUID:



5.获取当前手机运行的系统以及当前系统的版本



运行效果如下:



有时候我们也需要获取当前App的相关信息,比如当前应用名称, 当前版本号,用于判断是否应该提示用户升级App等.

 代码如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开头说明:此源码并未开发完成,只是个demo。而且写法很随意(我也想搞懂iTunesMobileDevice.dll的调用流程,奈何太繁琐),不喜勿喷! 1 .好像iTunesMobileDevice.dll对 太新太旧的设备读取某些功能存在着有误的问题(Iphone11系列读取颜色会返回空值0/1 ,Iphone5s的CPU架构号也会返回错误),其他没测可自行尝试 2 .整体流程是:1.调用 AMDeviceNotificationSubscribe ,函数用来及时反馈插拔设备消息                     2.调用 AMDeviceConnect ,函数用来连接设备( 到此步即可直接去获取一些基础设备信息,上图就是 )                     3.调用 AMDeviceIsPaired ,函数用来判断配对                     4.调用 AMDeviceValidatePairing ,函数用来验证配对,此函数也可做为(锁屏/信任)等判断依据                     5.调用 AMDeviceStartSession ,函数来创建会话通道,完成此步可做一些文件/高级信息(序列号/硬盘/内存/电池等) 系列操作                     注:整体流程的 成功 返回值均在源码中备注, 错误 的返回值过多没做整理,可以到CSDN( 连接在下方 )自行查询错误原因! 3 .源代码共调用了两个模块 精E模块(请自行替换),Ecallback(已开源,一搜就有源码,作者: 星锋工作室-东灿 ) 4 . 源代码或多或少都加了一些注释,功能不多虽然不多, 源代码依赖Itunes( iTunesMobileDevice.dll和CoreFoundation.dll )请自备! 5 .文献: 部分功能调用方法及声明(英文):https://bitbucket.org/tristero/mobiledeviceaccess/src/4bf38336bd6d7f5ffb23c8f331aed9eff5c720c0/MobileDevice.h?at=default#MobileDevice.h-115 部分服务/功能名查询:https://bitbucket.org/tristero/mobiledeviceaccess/src/4e3e281de0c38b7f9f053927d45a756b28134bd3/deviceValueForDomain.md?at=defaultfileviewer=file-view-default  错误返回值含义查询 :https://blog.csdn.net/Cinnazgc/article/details/858609 94

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值