在项目开发的时候,经常需要用到某些系统信息,比如手机型号(5s,6,6p), 操作系统版本(8.0 or 9.3), 当前网络类型(3/4g, wifi)等信息. 有了这些信息, 可以在出了某些bug的时候迅速定位bug出现场景, 有助于开发人员调试.

这里列出来一些经常用到的一些系统信息, 用一个单例来表达. 使用简单.

目前可以获取的iPhone信息如下:

  • deviceModel 【手机型号】
  • systemVersion 【操作系统版本】
  • networkType 【网络类型】
  • carrierType 【运营商类型】
  • isLocationAuthorized 【是否允许使用定位】
  • freeMemory 【内存情况】
  • cpuUsage 【CPU使用情况】
  • isJailbreaking 【是否越狱】
  • appVersion 【APP版本号】
  • appBuild 【APPBuild号】
  • userPhoneName 【用户手机名称】
  • appleIFV 【苹果identifierForVendor】

使用方法也很简单:
// All system Information
NSDictionary *dict = [[RLSystemInfo sharedInstance] allSystemInformation];

// userPhoneName
NSString *userPhoneName = [[RLSystemInfo sharedInstance] userPhoneName];

针对某些项目特定的信息, 比如自己的项目是否处于正式环境, 某些配置选项情况等, 也建议大家放在一起,方便调用.

代码放在这里https://github.com/rainer-liao/RLSystemInfo/
直接下载解压, 看看demo就好了.

iOS系统信息集合的更多相关文章

  1. IOS各种集合遍历效率对比

    前言: 对于ios项目开发中总会遇见各种集合遍历,出于对各种遍历效率的好奇心,所以准备写个测试程序测试一下 首先:先声明一个NSMutableArray,测试数据量分别是1000条,10000条,10 ...

  2. iOS知识点集合--更改(2)

    3.nsmutablearray *a 如果直接赋值 a = @[@"d",@""]; 这个时候a 是不可变的 字典也是如此 2.如果接口调用错误的话 打印re ...

  3. iOS:集合视图UICollectionView、集合视图控制器UICollectionViewController、集合视图单元格UICollectionViewCell(创建表格的另一种控件)

    两种创建表格方式的比较:表格视图.集合视图(二者十分类似) <1>相同点:   表格视图:UITableView(位于storyboard中,通过UIViewController控制器实现 ...

  4. iOS 数组集合操作(交集,并集,差集,子集)

    1.求数组的 交集,并集,差集 NSArray *array1 = @[@"1",@"2",@"3"]; NSArray *array2 = ...

  5. 优秀iOS文章集合

    Runtime 10种用法(没有比这更全的了成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)iOS逆向Reveal查看任意app 的界面JSPatch (实时修复App Store bu ...

  6. IOS 错误集合以及解决办法(持续整理中)

    1 . 如下错误: app:resource fork, Finder information, or similar detritus not al site:forums.developer.ap ...

  7. IOS中集合视图UICollectionView中DecorationView的简易使用方法

    转载自:   http://www.it165.net/pro/html/201312/8575.html Decoration View是UICollectionView的装饰视图.苹果官方给的案例 ...

  8. 终于碰到iOS对象集合深拷贝的坑

    从原始数组,拆分排列组合成新数组,同时给新的数组中的模型元素追加字段,数组的容量翻倍,如果不用深拷贝,后面追加的值就把前面的值覆盖了 UnitModel *model1 = [UnitModel ne ...

  9. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

随机推荐

  1. xampp中mysql重置root密码

    1.  停止mysql:用图形化工具或者在cmd命令下输入net stop mysql,在c盘根目录下输入 2.  打开cmd,切换目录到 /xampp/mysql/bin, 运行    mysqld ...

  2. 2017.10.28 QB模拟赛 —— 上午

    题目链接 T1 1e18 内的立方数有 1e6个 直接枚举可过 二分最优 考场用set  死慢.. #include <cstdio> int t; long long p; int ma ...

  3. 【2017-07-01】Linux应用开发工程师面试问题记录之二:关于结构体的大小及内存对齐问题

    Tencent后台服务器开发有一道题是计算一个结构体的sizeof的大小: struct strData { int m_Int; char m_Char; short m_Short; char m ...

  4. gcc常用参数列举

    [参数详解] -c    只激活预处理,编译,和汇编,也就是他只把程序做成obj文件  例子用法:  gcc -c hello.c  他将生成.o的obj文件    -S  只激活预处理和编译,就是指 ...

  5. 2018.7.22 Jdom与dom的区别

    SAX 优点:①无需将整个文档加载到内存,因而内存消耗少 ②推模型允许注册多个ContentHandler 缺点:①没有内置的文档导航支持 ②不能够随机访问XML文档 ③不支持在原地修改XML ④不支 ...

  6. node.js 练习3 调用函数

    (1)创建n3-1.js,并输入代码 (2)创建User.js ,并输入代码 (3)运行cmd (4)在浏览器上查看 (5) 再次查看cmd

  7. 关于css 中position使用的浅谈

    在css中有一种属性position.在W3C上我们可以找到他又一下几种属性:absolute.fixed.relative.static.inherit.但是position的使用却并不是简简单单的 ...

  8. js循环读取json数据,将读取到的数据用js写成表格

    ①js循环读取json数据的方式: var data=[{"uid":"2688","uname":"*江苏省南菁高级中学 022 ...

  9. 谈谈JDK8中的字符串拼接

    字符串拼接问题应该是每个Java程序员都熟知的事情了,几乎每个Java程序员都读过关于StringBuffer/StringBuilder来拼接字符串. 在大多数的教程中,也许你会看到用+号拼接字符串 ...

  10. ES6学习(三):数组的扩展

    chapter08 数组的扩展 8.1 扩展运算符 8.1.1 扩展运算符的含义 ... 如同rest运算符的逆运算,将一个数组转换为用逗号分隔的参数序列. console.log(...[1, 2, ...