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. Prince2是怎么考试的?想了解P2

    自己在项目管理培训的行业已经有了5年的时间,经历了很多的学员和企业,和他们交流的问题,话题也很多. 在前几年,对于项目经理来讲关注的很多是单项目管理的工具技术模板,谈论最多的是,进度延期,成本超支,范 ...

  2. AlloyTouch.js 源码 学习笔记及原理说明

    alloyTouch这个库其实可以做很多事的, 比较抽象, 需要我们用户好好的思考作者提供的实例属性和一些回调方法(touchStart, change, touchMove, pressMove, ...

  3. 类似于qq空间类型的评论和回复

    最近学习thinkphp,做了一个博客系统,其中感觉实现一个类似于qq空间的评论和回复功能比较复杂,所以把这次的经历记录下来,与大家共勉,具体的方法就不说了,在这里分享一下思路. 目标就是这种,关键是 ...

  4. ASP渲染下拉框使时间依次减少

    <%    x=year(now())    y=year(now())-1    Do While  y>2002%><li><a href="#201 ...

  5. Tyvj P1813 [JSOI2008]海战训练

    P1813 [JSOI2008]海战训练 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 为了准备高层峰会,元首命令武装部队必须处于高度戒备.警察将监视每一条 ...

  6. 476. Number Complement

    题目 Given a positive integer, output its complement number. The complement strategy is to flip the bi ...

  7. Alamofire源码解读系列(六)之Task代理(TaskDelegate)

    本篇介绍Task代理(TaskDelegate.swift) 前言 我相信可能有80%的同学使用AFNetworking或者Alamofire处理网络事件,并且这两个框架都提供了丰富的功能,我也相信很 ...

  8. Java 字符流操作

    上篇文章Java 字节流操作介绍了java中基本的字节流操作,但是我们常常对于字符操作,如果使用字节流来实现输入输出就显得麻烦,我们可以使用字符流来实现对我们看得见的字符char进行操作,主要内容如下 ...

  9. 【树莓派】Linux应用相关:自动删除n天前日志

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...

  10. Dive in python Chapter3 实例

    def buildConnectionString(params): """Build a connection string from a dictionary Ret ...