获取设备和 App 信息
设备对照表:https://www.theiphonewiki.com/wiki/Models
获取设备和 App 信息代码:
1 NSLog(@"设备信息如下"); 2 NSLog(@"detailModel(详细型号): %@", [self detailModel]); //detailModel(详细型号): iPhone 6 3 4 UIDevice *device = [UIDevice currentDevice]; 5 NSLog(@"name(名称): %@", [device name]); //name(名称): My iPhone 6 NSLog(@"model(型号): %@", [device model]); //model(型号): iPhone 7 NSLog(@"localizedModel(本地化型号): %@", [device localizedModel]); //localizedModel(本地化型号): iPhone 8 NSLog(@"systemName(系统名称): %@", [device systemName]); //systemName(系统名称): iPhone OS 9 NSLog(@"systemVersion(系统版本): %@", [device systemVersion]); //systemVersion(系统版本): 8.3 10 NSLog(@"identifierForVendor(UUID): %@", [device identifierForVendor]); //identifierForVendor(UUID): <__NSConcreteUUID 0x7ff21b5c8410> 1F61341F-26B2-419C-8B35-75E8F1097CBD 11 12 13 NSLog(@"App信息如下"); 14 NSDictionary *dicAppInfo = [[NSBundle mainBundle] infoDictionary]; 15 NSString *shortVersion = [dicAppInfo objectForKey:@"CFBundleShortVersionString"]; 16 NSString *buildVersion = [dicAppInfo objectForKey:@"CFBundleVersion"]; 17 NSString *name = [dicAppInfo objectForKey:@"CFBundleName"]; 18 NSString *displayName = [dicAppInfo objectForKey:@"CFBundleDisplayName"]; 19 NSString *identifier = [dicAppInfo objectForKey:@"CFBundleIdentifier"]; 20 NSString *minimumOSVersion = [dicAppInfo objectForKey:@"MinimumOSVersion"]; 21 22 NSLog(@"CFBundleShortVersionString(Version版本): %@", shortVersion); //CFBundleShortVersionString(Version版本): 1.0 23 NSLog(@"CFBundleVersion(Build版本): %@", buildVersion); //CFBundleVersion(Build版本): 1 24 NSLog(@"CFBundleName(名称): %@", name); //CFBundleName(名称): FirstBook187 25 NSLog(@"CFBundleDisplayName(显示名称): %@", displayName); //CFBundleDisplayName(显示名称): (null);默认为null,因为Info.plist文件默认不会添加“Bundle display name”,而App的显示名称优先级来说:CFBundleDisplayName>CFBundleName,即CFBundleDisplayName不存在的情况下,就是显示CFBundleName 26 NSLog(@"CFBundleIdentifier(标识符): %@", identifier); //CFBundleIdentifier(标识符): com.kenmu.FirstBook187 27 NSLog(@"MinimumOSVersion(兼容的最小操作系统版本): %@", minimumOSVersion); //MinimumOSVersion(兼容的最小操作系统版本): 7.0 28 29 CFShow((__bridge CFTypeRef)(dicAppInfo)); //通过CFShow可以输出dicAppInfo的所有键值对信息;真机输出的信息比模拟器多
获取设备详细型号的代码:
1 #import "sys/utsname.h" 2 3 - (NSString *)detailModel { 4 //{代号 : 详细型号} 5 NSDictionary *dicDeviceInfo = @{ @"x86_64" : @"Simulator", 6 @"i386" : @"Simulator", 7 @"iPhone7,2" : @"iPhone 6", 8 @"iPhone7,1" : @"iPhone 6 Plus", 9 @"iPhone6,2" : @"iPhone 5s (Global)", 10 @"iPhone6,1" : @"iPhone 5s (GSM)", 11 @"iPhone5,4" : @"iPhone 5c (Global)", 12 @"iPhone5,3" : @"iPhone 5c (GSM)", 13 @"iPhone5,2" : @"iPhone 5 (GSM+CDMA)", 14 @"iPhone5,1" : @"iPhone 5 (GSM)", 15 @"iPhone4,1" : @"iPhone 4S", 16 @"iPhone3,3" : @"iPhone 4 (CDMA)", 17 @"iPhone3,2" : @"iPhone 4 (GSM Rev A)", 18 @"iPhone3,1" : @"iPhone 4 (GSM)", 19 @"iPhone2,1" : @"iPhone 3GS", 20 @"iPhone1,2" : @"iPhone 3G", 21 @"iPhone1,1" : @"iPhone 2G", 22 23 @"iPad5,4" : @"iPad Air 2", 24 @"iPad5,3" : @"iPad Air 2", 25 @"iPad4,3" : @"iPad Air", 26 @"iPad4,2" : @"iPad Air", 27 @"iPad3,6" : @"iPad 4 (GSM+CDMA)", 28 @"iPad3,5" : @"iPad 4 (GSM)", 29 @"iPad3,4" : @"iPad 4 (WiFi)", 30 @"iPad3,3" : @"iPad 3 (GSM)", 31 @"iPad3,2" : @"iPad 3 (GSM+CDMA)", 32 @"iPad3,1" : @"iPad 3 (WiFi)", 33 @"iPad2,4" : @"iPad 2 (WiFi + New Chip)", 34 @"iPad2,3" : @"iPad 2 (CDMA)", 35 @"iPad2,2" : @"iPad 2 (GSM)", 36 @"iPad2,1" : @"iPad 2 (WiFi)", 37 @"iPad1,1" : @"iPad", 38 39 @"iPad4,9" : @"iPad mini 3", 40 @"iPad4,8" : @"iPad mini 3", 41 @"iPad4,7" : @"iPad mini 3", 42 @"iPad4,6" : @"iPad mini 2", 43 @"iPad4,5" : @"iPad mini 2", 44 @"iPad4,4" : @"iPad mini 2", 45 @"iPad2,7" : @"iPad mini 1G (WiFi)", 46 @"iPad2,6" : @"iPad mini 1G (GSM)", 47 @"iPad2,5" : @"iPad mini 1G (GSM+CDMA)", 48 49 @"iPod5,1" : @"iPod touch 5G", 50 @"iPod4,1" : @"iPod touch 4G", 51 @"iPod3,1" : @"iPod touch 3G", 52 @"iPod2,1" : @"iPod touch 2G", 53 @"iPod1,1" : @"iPod touch", 54 55 @"Watch1,2" : @"Apple Watch", 56 @"Watch1,1" : @"Apple Watch", 57 58 @"AppleTV3,2" : @"Apple TV 3G", 59 @"AppleTV3,1" : @"Apple TV 3G", 60 @"AppleTV2,1" : @"Apple TV 2G" }; 61 struct utsname systemInfo; //这是LINUX系统放硬件版本的信息的地方;所以需要导入包sys/utsname.h 62 uname(&systemInfo); 63 NSString *strMachineCode = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; 64 65 //也可以用allKeys和indexOfObject结合,来判断是否此设备代号存在,再获取它对应的详细型号 66 NSString *strDetailModel = [dicDeviceInfo objectForKey:strMachineCode]; 67 if(!strDetailModel) { 68 strDetailModel = @"Unknown Device"; 69 } 70 return strDetailModel; 71 }
结果:
1 2015-06-14 19:25:10.315 FirstBook187[2926:150270] 设备信息如下 2 2015-06-14 19:25:10.316 FirstBook187[2926:150270] detailModel(详细型号): Simulator 3 2015-06-14 19:25:10.316 FirstBook187[2926:150270] name(名称): iPhone Simulator 4 2015-06-14 19:25:10.316 FirstBook187[2926:150270] model(型号): iPhone Simulator 5 2015-06-14 19:25:10.316 FirstBook187[2926:150270] localizedModel(本地化型号): iPhone Simulator 6 2015-06-14 19:25:10.317 FirstBook187[2926:150270] systemName(系统名称): iPhone OS 7 2015-06-14 19:25:10.317 FirstBook187[2926:150270] systemVersion(系统版本): 8.3 8 2015-06-14 19:25:10.317 FirstBook187[2926:150270] identifierForVendor(UUID): <__NSConcreteUUID 0x7fbc5365b290> 1F61341F-26B2-419C-8B35-75E8F1097CBD 9 2015-06-14 19:25:10.318 FirstBook187[2926:150270] App信息如下 10 2015-06-14 19:25:10.318 FirstBook187[2926:150270] CFBundleShortVersionString(Version版本): 1.0 11 2015-06-14 19:25:10.318 FirstBook187[2926:150270] CFBundleVersion(Build版本): 1 12 2015-06-14 19:25:10.318 FirstBook187[2926:150270] CFBundleName(名称): FirstBook187 13 2015-06-14 19:25:10.318 FirstBook187[2926:150270] CFBundleDisplayName(显示名称): (null) 14 2015-06-14 19:25:10.376 FirstBook187[2926:150270] CFBundleIdentifier(标识符): com.kenmu.FirstBook187 15 2015-06-14 19:25:10.376 FirstBook187[2926:150270] MinimumOSVersion(兼容的最小操作系统版本): 7.0 16 <CFBasicHash 0x7fbc53504d60 [0x101ad8180]>{type = mutable dict, count = 21, 17 entries => 18 1 : <CFString 0x7fbc535048d0 [0x101ad8180]>{contents = "CFBundleName"} = <CFString 0x7fbc53504d40 [0x101ad8180]>{contents = "FirstBook187"} 19 2 : <CFString 0x7fbc535030c0 [0x101ad8180]>{contents = "DTSDKName"} = <CFString 0x7fbc53504c90 [0x101ad8180]>{contents = "iphonesimulator8.3"} 20 3 : <CFString 0x101ab0b40 [0x101ad8180]>{contents = "CFBundleInfoPlistURL"} = <CFURL 0x7fbc53503e70 [0x101ad8180]>{string = Info.plist, encoding = 134217984 21 base = <CFURL 0x7fbc53503610 [0x101ad8180]>{string = file:///Users/Kenmu/Library/Developer/CoreSimulator/Devices/85240D3B-7BE5-4AF1-A570-F2116C2B7979/data/Containers/Bundle/Application/7FCB8335-0BD8-4A70-B0CC-17D8512FA327/FirstBook187.app/, encoding = 134217984, base = (null)}} 22 4 : <CFString 0x101ab0b80 [0x101ad8180]>{contents = "CFBundleNumericVersion"} = <CFNumber 0xb000000010080002 [0x101ad8180]>{value = +16809984, type = kCFNumberSInt32Type} 23 5 : <CFString 0x7fbc535046c0 [0x101ad8180]>{contents = "UILaunchStoryboardName"} = <CFString 0x7fbc53504a00 [0x101ad8180]>{contents = "LaunchScreen"} 24 11 : <CFString 0x7fbc53504880 [0x101ad8180]>{contents = "CFBundleDevelopmentRegion"} = <CFString 0x7fbc53504cc0 [0x101ad8180]>{contents = "en"} 25 12 : <CFString 0x7fbc53503e00 [0x101ad8180]>{contents = "CFBundleVersion"} = <CFString 0x7fbc535049e0 [0x101ad8180]>{contents = "1"} 26 15 : <CFString 0x7fbc53503e40 [0x101ad8180]>{contents = "DTPlatformName"} = <CFString 0x7fbc53504c60 [0x101ad8180]>{contents = "iphonesimulator"} 27 16 : <CFString 0x7fbc53504850 [0x101ad8180]>{contents = "CFBundlePackageType"} = <CFString 0x7fbc53504c40 [0x101ad8180]>{contents = "APPL"} 28 17 : <CFString 0x7fbc53503dd0 [0x101ad8180]>{contents = "UIMainStoryboardFile"} = <CFString 0x7fbc535049c0 [0x101ad8180]>{contents = "Main"} 29 18 : <CFString 0x7fbc535047f0 [0x101ad8180]>{contents = "CFBundleSupportedPlatforms"} = <CFArray 0x7fbc53504bc0 [0x101ad8180]>{type = mutable-small, count = 1, values = ( 30 0 : <CFString 0x7fbc53504b90 [0x101ad8180]>{contents = "iPhoneSimulator"} 31 )} 32 19 : <CFString 0x7fbc53504750 [0x101ad8180]>{contents = "CFBundleShortVersionString"} = <CFString 0x7fbc53504a40 [0x101ad8180]>{contents = "1.0"} 33 23 : <CFString 0x7fbc53503da0 [0x101ad8180]>{contents = "CFBundleInfoDictionaryVersion"} = <CFString 0x7fbc535049a0 [0x101ad8180]>{contents = "6.0"} 34 24 : <CFString 0x7fbc53503bb0 [0x101ad8180]>{contents = "UIRequiredDeviceCapabilities"} = <CFArray 0x7fbc53504910 [0x101ad8180]>{type = mutable-small, count = 1, values = ( 35 0 : <CFString 0x7fbc535048f0 [0x101ad8180]>{contents = "armv7"} 36 )} 37 25 : <CFString 0x7fbc535046f0 [0x101ad8180]>{contents = "CFBundleExecutable"} = <CFString 0x7fbc53504a20 [0x101ad8180]>{contents = "FirstBook187"} 38 27 : <CFString 0x7fbc535047c0 [0x101ad8180]>{contents = "MinimumOSVersion"} = <CFString 0x7fbc53504b70 [0x101ad8180]>{contents = "7.0"} 39 28 : <CFString 0x7fbc53503d70 [0x101ad8180]>{contents = "CFBundleIdentifier"} = <CFString 0x7fbc53504970 [0x101ad8180]>{contents = "com.kenmu.FirstBook187"} 40 29 : <CFString 0x7fbc535048b0 [0x101ad8180]>{contents = "UIDeviceFamily"} = <CFArray 0x7fbc53504ce0 [0x101ad8180]>{type = mutable-small, count = 1, values = ( 41 0 : <CFNumber 0xb000000000000013 [0x101ad8180]>{value = +1, type = kCFNumberSInt64Type} 42 )} 43 30 : <CFString 0x7fbc53504820 [0x101ad8180]>{contents = "CFBundleSignature"} = <CFString 0x7fbc53504c20 [0x101ad8180]>{contents = "????"} 44 32 : <CFString 0x7fbc53504720 [0x101ad8180]>{contents = "LSRequiresIPhoneOS"} = <CFBoolean 0x101ad8bf0 [0x101ad8180]>{value = true} 45 33 : <CFString 0x7fbc53504780 [0x101ad8180]>{contents = "UISupportedInterfaceOrientations"} = <CFArray 0x7fbc53504b10 [0x101ad8180]>{type = mutable-small, count = 3, values = ( 46 0 : <CFString 0x7fbc53504a60 [0x101ad8180]>{contents = "UIInterfaceOrientationPortrait"} 47 1 : <CFString 0x7fbc53504a90 [0x101ad8180]>{contents = "UIInterfaceOrientationLandscapeLeft"} 48 2 : <CFString 0x7fbc53504ad0 [0x101ad8180]>{contents = "UIInterfaceOrientationLandscapeRight"} 49 )} 50 }
转载于:https://www.cnblogs.com/huangjianwu/p/4575555.html
获取设备和 App 信息相关推荐
- [Android] 获取设备的APP信息
为什么80%的码农都做不了架构师?>>> (1)获取设备安装的APP列表 主要有两个方法: public abstract List<ApplicationInfo> ...
- iOS获取设备和APP权限信息(内含plist文件的读写)
文章目录 前言 获取设备当前的各种信息 获取APP能获取到的权限信息(内含plist文件的读写) 2019.11.04 更新 前言 下面各种获取到的信息分为了两大类,一种是获取APP载体设备当前的各种 ...
- iOS获取设备UDID/IMEI信息
标题iOS获取设备UDID/IMEI信息 通过Safari与mobileconfig获取iOS设备UDID UDID (Unique Device Identifier),唯一标示符,是iOS设备的一 ...
- snmp获取设备相关管理信息
snmp获取设备相关管理信息 在本文中,作者将向我们展示如何用snmp代理监视网络设备,甚至发送软件警告. 网络上很多代理在为我们服务.只要我们开启UDP/161,162端口,这些代理就会以Manag ...
- 获取设备的型号信息,比如iPhone5s,iPhone5等等
获取设备的型号信息,比如iPhone5s,iPhone5等等. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- Android获取设备内存数据信息
App分配内存 首先,我们通过Android系统提供的方法获取 分配给App本身的运行数据信息,这里我们能获取系统分配给App的最大内存信息(这个数据根据不同的机型可能会不一样),当前已分配内存大小, ...
- 跨平台应用开发进阶(六十):uniapp 获取设备唯一标识信息
文章目录 一.前言 二.其他方案 2.1 调用原生 2.2 插件调用 2.2.1 Ba-IdCode 2.2.2 KeyChain 三.实施方案 四.拓展阅读 一.前言 应App个人信息保护与安全要求 ...
- App获取android分辨率,Android 获取手机及APP信息实例详解
霜风渐紧寒侵被,听孤雁声嘹唳,一声声送一声悲.<御街行>中的这句诗用来形容这个季节的北京真是再合适不过了,霜风阵阵,跑步的时候也越来越舍不得脱去外套了,考验毅力的时刻到了! 言归正传,开发 ...
- 微信摇一摇之获取设备与用户信息
一.前言 利用微信摇一摇的功能接口可实现我们日常的某些需求,比如微信摇一摇签到等.首先需要购买设备,然后在开发者后台创建应用以及绑定回调界面,回接下来就开始开发了. 二.开始 1.请求说明 Https ...
最新文章
- 外包程序员是如何花 5 年时间从月薪 4 千到年薪近百万?
- 2016各大公司校招薪水曝光:年薪28万,这只是零花钱
- 忽略Java中的自签名证书
- 01 能够使用Format实现格式化输出显示
- oracle 里数据的编码格式,oracle 数据的编码格式
- java 读取 jar properties_java:如何读取properties文件内容
- DB2报“数据库日志已满”问题解决
- 自己实现memcpy/strcpy/strcmp/strcat/strlen/strstr
- python中开方和平方
- linux文件系统程序设计实验报告,浙江大学Linux程序设计实验报告
- 体验服和平精英服务器维护,和平精英:体验服申请入口
- 第四十章 SQL命令 DROP USER
- layui 勾选不联动父项 树形控件_layui树形组件重现勾选过程的办法
- IPS,LED,LCD,TFT简介
- 计算机网络层次结构概要
- 中国劳动力动态调查数据(CLDS)2011-2018年
- 在家想远程公司电脑?Python+微信一键连接!
- android SharedPreferences 存储对象
- Moviebooking电影售票系统--活动图
- 职场吐槽大会:一起聊聊职场里的奇葩人奇葩事