1.获取设备的信息

  UIDevice *device = [[UIDevice alloc] init];

NSString *name = device.name;       //获取设备所有者的名称

NSString *model = device.name;      //获取设备的类别

NSString *type = device.localizedModel; //获取本地化版本

NSString *systemName = device.systemName;   //获取当前运行的系统

NSString *systemVersion = device.systemVersion;//获取当前系统的版本

NSLog(@"name:%@\nmodel:%@\ntype:%@\nsystemName:%@\nsystemVersion:%@\n",name,model,type,systemName,systemVersion);

  2.获取设备的唯一标示符

  NSString *identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

NSLog(@"identifier:%@",identifier);

  3.创建一个uuid(一个随机的标示符)

  NSString *uuid = [self createUUID];

NSLog(@"uuid:%@",uuid);

- (NSString*)createUUID {

NSString *id = [[NSUserDefaults standardUserDefaults] objectForKey:@"UUID"];    //获取标识为"UUID"的值

if(id == nil)

{

if([[[UIDevice currentDevice] systemVersion] floatValue] > 6.0)

{

//ios 6.0 之后可以使用的api

NSString *identifierNumber = [[NSUUID UUID] UUIDString];

[[NSUserDefaults standardUserDefaults] setObject:identifierNumber forKey:@"UUID"];

[[NSUserDefaults standardUserDefaults] synchronize];

}

else{

//ios6.0之前使用的api

CFUUIDRef uuid = CFUUIDCreate(NULL);

CFStringRef uuidString = CFUUIDCreateString(NULL, uuid);

NSString *identifierNumber = [NSString stringWithFormat:@"%@", uuidString];

[[NSUserDefaults standardUserDefaults] setObject:identifierNumber forKey:@"UUID"];

[[NSUserDefaults standardUserDefaults] synchronize];

CFRelease(uuidString);

CFRelease(uuid);

}

return [[NSUserDefaults standardUserDefaults] objectForKey:@"UUID"];

}

return id;

}

  4.获取当前屏幕分辨率

  CGRect rect = [[UIScreen mainScreen] bounds];

CGFloat scale = [[UIScreen mainScreen] scale];

CGFloat width = rect.size.width * scale;

CGFloat height = rect.size.height * scale;

NSLog(@"width:%.f   height:%.f  scale:%.f",width,height,scale);

iOS开发——设备信息小结(未完待续...)的更多相关文章

  1. IOS之KVC和KVO(未完待续)

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  2. iOS开发系统版本适配(未完待续。。。)

    1.iOS9引入了新特性App Transport Security (ATS).新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用T ...

  3. 省钱版----查找 IoT 设备TTL线序__未完待续

    作者:仙果 原文来自:省钱版—-查找 IoT 设备TTL线序 省钱版----查找 IoT 设备TTL线序__未完待续 缘由 在IoT固件调试分析的过程中,建议首先在IoT设备的板子上焊接调试线,这是能 ...

  4. Java开发中的23+2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  5. 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)

    计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...

  6. Go web编程学习笔记——未完待续

    1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...

  7. Reading | 《数字图像处理原理与实践(MATLAB版)》(未完待续)

    目录 一.前言 1.MATLAB or C++ 2.图像文件 文件头 调色板 像素数据 3.RGB颜色空间 原理 坐标表示 4.MATLAB中的图像文件 图像类型 image()函数 imshow() ...

  8. 构建Linux根文件系统(未完待续)

          所谓制作根文件系统, 就是创建各种目录, 并且在里面创建各种文件. 比如在/bin ./sbin 目录下存放各种可执行程序, 在/etc 目录下存放配置文件, 在/lib 目录下存放库文件 ...

  9. jdbc14 及 jdbc16 共存所带来的问题【未完待续】

    在JAVA中JDK版本号与JDBC版本号的一致性十分重要,开发都们经常会忽略了这一点导致非常多不必要的错误. 昨天给客户排查了一个关于EDB在JBoss中使用时关于这方面的问题,希望给大家一点启示. ...

随机推荐

  1. ReactiveCocoa 用法实例

      我个人非常推崇ReactiveCocoa,它就像中国的太极,太极生两仪,两仪生四象,四象生八卦,八卦生万物.ReactiveCocoa是一个高度抽象的编程框架,它真的很抽象,初看你不知道它是要干嘛 ...

  2. Android &Swift iOS开发:语言与框架对比

    转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...

  3. UVALive 7291 Kinfolk(最近公共祖先)

    题目中的描述就很最近公共祖先,再说其实这个题并不难,就是麻烦点(代码其实可以化简的),我写的判定比较多. 方法:求出两者的最近公共祖先lca,在求出两者到lca的距离 分析:给出a和b,如果LCA(a ...

  4. ubuntu 下重装mysql若干问题

    最近由于种种原因需要重装mysql.打开终端开始卸载 sudo apt-get remove mysql-comm sudo apt-get auto remove 重新开始安装mysql sudo ...

  5. Leetcode389

    Find the Difference Given two strings s and t which consist of only lowercase letters. 给出两个字符串,s和t,都 ...

  6. jq中的css-Dom

    1,height() ,width() 此方法用来获取匹配元素的高和宽的值,如果括号内有值,则是修改匹配元素的值, 2.offset() 此方法的作用是获取元素在当前视窗的相对偏移,其中返回的对象包含 ...

  7. Windows修改hosts文件及位置

    文件位置 C:\Windows\System32\drivers\etc 中的hosts文件 修改方式 指定IP 域名 192.168.66.7 www.baidu.com

  8. android的m、mm、mmm编译命令的使用

    android的m.mm.mmm编译命令的使用   android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of ...

  9. windows 系统注册dll文件

    使用管理员身份注册:命令提示符 管理员身份运行 32 位系统:regsvr32 %windir%\system32\jscript.dll 64 位系统:regsvr32 %windir%\SysWO ...

  10. jdb 调试

    C:\Users\Reverse>adb shell am start -D -n lwf.lc.pncdd/lwf.lc.pncdd.MainC 查看内存情况: cat /proc/N/map ...