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,实在是记不住啊。当然不用记住,用的时候拷过来就行了,因为我也记不住

最新文章

  1. Jenkins的一个bug-同时build一个项目两次导致失败
  2. 关于Java中进程和线程的详解
  3. easyUI在IE浏览器中列表不显示
  4. 【环境配置】php5.5 + apache2.4 安装配置【转+修改】
  5. C与C++之间相互调用
  6. VM不能连入局域网
  7. Python的排序
  8. 关于HTTP协议的学习
  9. GridView控件RowDataBound事件中获取列字段值的几种途径
  10. 검색엔진의 크롤링과 인덱싱의 차이 (robots.txt 파일과 meta robots 태그의 차이점)
  11. ie8下jquery读取当前点击的标签位置错误,原因是里面有内容写了text-indent:-9999px
  12. js深入理解"闭包"
  13. Python一些字符串判断和转换
  14. Python 2.7 学习笔记 元组的使用
  15. WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]
  16. Java知多少(4)J2SE、J2EE、J2ME的区别
  17. 【Maven】项目中没有resources目录
  18. 在Github上面搭建一个自己域名的Hexo博客
  19. Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分
  20. 笔记-JS高级程序设计-基本概念篇

热门文章

  1. TokuDB性能测试报告
  2. 1293: [SCOI2009]生日礼物
  3. vector 对象中存放指针类型数据
  4. AndroidTest工程的自定义gradle task
  5. Android Weekly Notes Issue #248
  6. yii 常用一些调用 (增加中)
  7. Java基础——深入理解Java中的final关键字(转载)
  8. 如何在RecyclerView上面实现"拖放"和"滑动删除"-1
  9. VAO VBO IBO大乱炖
  10. 定时任务框架APScheduler学习详解