iOS获取设备型号和App版本号等信息(OC+Swift)
字数1687 阅读382 评论3 喜欢10
好久没有写过博客了,因为中间工作比较忙,然后有些个人事情所以耽误了。但是之前写的博客还一直有人来问一些问题,有些之前写的已经比较久了,有些需要实时更新的也没来得及更新,发现会跟一些童鞋造成困惑,所以以后也希望能及时更新和写一些新的内容。

我之前博客的地址:一毛的博客,也是主要介绍iOS开发的,以后都在简书更新吧。希望大家能继续支持。
iOS开发过程中,有时候为了更好的用户体验或者为了bug跟踪,可能会需要获取用户的应用信息、系统信息、设备信息。这些信息的获取可以根据不同的设备或者App、系统版本来提供不同的功能或更好的用户体验,或者让开发者能更好的分析用户的问题原因。

你说不要啰嗦了:Talk is cheap, show me the code!

好的,code来了:

获取设备名称

OC代码
NSString *deviceName = [[UIDevice currentDevice] name];

Swift代码
let deviceName = UIDevice.currentDevice().name

获取系统版本号

OC代码
NSString *sysVersion = [[UIDevice currentDevice] systemVersion];

Swift代码
let sysVersion = UIDevice.currentDevice().systemVersion

获取设备唯一标识符

OC代码
NSString *deviceUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

Swift代码
let deviceUUID = UIDevice.currentDevice().identifierForVendor?.UUIDString

获取设备的型号

OC代码
NSString *deviceModel = [[UIDevice currentDevice] model];

Swift代码
let deviceModel = UIDevice.currentDevice().model

获取App相关的信息

OC代码

NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

// 获取App的版本号
NSString *appVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];

// 获取App的build版本
NSString *appBuildVersion = [infoDic objectForKey:@"CFBundleVersion"];

// 获取App的名称
NSString *appName = [infoDic objectForKey:@"CFBundleDisplayName"];
Swift代码

let infoDic = NSBundle.mainBundle().infoDictionary

// 获取App的版本号
let appVersion = infoDic?["CFBundleShortVersionString"]

// 获取App的build版本
let appBuildVersion = infoDic?["CFBundleVersion"]

// 获取App的名称
let appName = infoDic?["CFBundleDisplayName"]
有些人可能会说了:“裤子都脱了,你就给我看这个!看你之前写的博客还能看点儿干货,今天第一篇就写着么个玩意儿?尤其是获取设备型号那个,获取出来一个iPhone,你确定不是在逗我吧?”

看官别急,其实这次最主要的就是来分享获取设备型号的方法的,因为我看国内还很少有Swift写的一些东西,也不知道是不是因为我没有找到,就想自己写出来给大家分享,顺便做个笔记。

你会说:获取设备型号比较麻烦,又用的是C语言的一些东西,比较麻烦,而且还得记住所有设备版本号例如:iPhone8,2,实在是记不住啊。当然不用记住,用的时候拷过来就行了,因为我也记不住

iOS获取设备型号和App版本号等信息(OC+Swift)的更多相关文章

  1. iOS获取设备型号、装置类型等信息

    iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设 ...

  2. iOS 获取设备型号以及IP地址

    首先导入四个头文件 #include <sys/types.h> #include <sys/sysctl.h> #include <ifaddrs.h> #inc ...

  3. iOS获取设备型号、设备类型等信息

    摘自 :http://www.mamicode.com/info-detail-1165460.html 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然 ...

  4. iOS获取设备型号

    导入头文件 #include <sys/types.h> #include <sys/sysctl.h> 直接调用 //获得设备型号 + (NSString *)getCurr ...

  5. iOS 获取设备型号 ip6更新

    //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { ]; size_t len; char *m ...

  6. iOS获取设备型号的方法

    1. [UIDevice currentDevice].model   自己写的看只抓到模拟器和iPhone.暂时不推荐. 2.自己写的找的方法再添加.直接  NSString * deviceMod ...

  7. (转)iOS获取设备型号

    //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { ]; size_t len; char *m ...

  8. iOS获取手机型号,类似iphone 7这种 含swift和OC

    获取手机设备信息,如name.model.version等,但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种 swift: func phonetype () -> Str ...

  9. iOS 获取设备信息,mac地址,IP地址,设备名称

    #import "DeviceInfoUtil.h" #import "GlobleData.h" #import "sys/utsname.h&qu ...

随机推荐

  1. 解决https证书验证不通过的问题

    1.报错信息 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excepti ...

  2. sql查询表说明

    一条神奇的sql语句 可以查询到数据库表的说明信息.如下:希望可以帮到大家 SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说 ...

  3. Python 之 json 模块

    引言 对于做web开发的人来说,json文本必须要熟知与熟练使用的.大部分网站的API接口调用返回的数据,就是json格式的.如果看json对象所包含的内容,相信对熟悉Python的人开说,很快就能把 ...

  4. linux命令分块总结---多操作才是真理

    ps:其实学习linux系统,多多联系我们现在使用的Windows系统,这样就可以事半功倍的学习: 一. 启动,关机,登入,登出相关命令 [login]: 登录 [logout] :登出 [shutd ...

  5. MySQL创建数据库与创建用户以及授权

    1.create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 采用create schema和c ...

  6. HTML超文本标记语言-基础标签整理

    第一章 <META>标签: <meta http-equiv="Content-Type" Content="text/html;charset=gb2 ...

  7. TIME_WAIT问题总结

         最近用http_load做压测,跑出来一大串"Cannot assign requested address "的错误,查了一下,是TIME_WAIT过多导致的.因为短时 ...

  8. eclipse一直报An internal error occurred during: "Building workspace". GC overhead limit exceeded

    最近导入到eclipse里的工程挺大的,每次eclipse启动之后都回update workspace,然后就一直报: An internal error occurred during: " ...

  9. idea调试SpringMvc, 出现:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener错误的解决办法

    有时,使用idea开发SpringMvc发现调试时出现以下错误: 12-Mar-2017 12:08:02.345 严重 [RMI TCP Connection(2)-127.0.0.1] org.a ...

  10. GCC命令

    一. 常用编译命令选项 源程序test.c 1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认输出为a.out. 2. ...