用 iOS-System-Services 框架获取iOS设备所用的设备信息
参考资料地址
https://github.com/Shmoopi/iOS-System-Services
百度云盘下载地址
http://pan.baidu.com/s/1c05ot1m
This is a singleton class to gather all available information about a device. It gives you over 75 methods to determine everything about a device, including:
- Hardware & Network Information
- Battery Usage
- Accelerometer Data
- Disk Usage
- Running Processes
- Memory Usage
- And a complete UDID replacement based on unchanging device information.
这是一个单例模式的类,收集了一个设备所有的信息,他提供了75个方法来获取设备的信息
- 硬件以及网络信息
- 电池使用情况
- 处理器信息
- 磁盘使用信息
- 运行中的进程
- 内存使用情况
- 添加了一个完全的UDID用以替换基于不会改变的设备信息(??)
本人已经过测试,除了一个方法 AudioSessionGetProperty 要被弃用了以外,使用非常方便,可以检测越狱或者不越狱.
.将文件夹 System Services 拖拽至工程项目中
2.引入以下框架
3.项目工程中引入头文件 SystemServices.h
4.简单例子代码(本人在越狱的iOS7 touch 7.0.4 设备上测试过)
NSLog(@"===========================================================");
SystemServices *sysInfo = [SystemServices sharedServices];
NSLog(@"%@", sysInfo.allSystemInformation);
NSLog(@"===========================================================");
5.NSLog信息如下
2014-02-27 10:16:59.376 testMyPhone[8877:60b] ===========================================================
2014-02-27 10:17:08.767 testMyPhone[8877:60b] {
AccessoriesAttached = No;
"ActiveMemory (Formatted)" = "21.134186";
"ActiveMemory (Not Formatted)" = "108.207031";
ApplicationVersion = "1.0";
BatteryLevel = "100.000000";
CFUUID = "AC0E443C-C1A3-4B64-B8C9-224726D69A9D";
CarrierAllowsVOIP = No;
CarrierCountry = CN;
CarrierISOCountryCode = Unknown;
CarrierMobileCountryCode = Unknown;
CarrierMobileNetworkCode = Unknown;
CarrierName = Unknown;
CellBroadcastAddress = Unknown;
CellIPAddress = Unknown;
CellMACAddress = Unknown;
CellNetmaskAddress = Unknown;
Charging = Yes;
ClipboardContent = "\U6210\U957f";
ConnectedToCellNetwork = No;
ConnectedToWiFi = Yes;
Country = "zh_CN";
Currency = "\Uffe5";
CurrentIPAddress = "192.168.60.104";
CurrentMACAddress = "02:00:00:00:00:00";
DebuggerAttached = No;
DeviceModel = "iPod touch";
DeviceName = Phoenix;
DeviceOrientation = 1;
DeviceSignature = 7568320101100111ZHAS238328512SS;
DiskSpace = "28.01 GB";
"External IP Address" = "124.200.223.109";
"FreeDiskSpace (Formatted)" = "28%";
"FreeDiskSpace (Not Formatted)" = "7.98 GB";
"FreeMemory (Formatted)" = "12.732697";
"FreeMemory (Not Formatted)" = "65.191406";
FullyCharged = Yes;
HeadphonesAttached = Yes;
"InactiveMemory (Formatted)" = "7.167816";
"InactiveMemory (Not Formatted)" = "36.699219";
Jailbroken = 3429542;
Language = "zh-Hans";
LongDiskSpace = 30076624896;
LongFreeDiskSpace = 8571482112;
MultitaskingEnabled = Yes;
NumberActiveProcessors = 2;
NumberAttachedAccessories = 0;
NumberProcessors = 2;
ParentPID = 8875;
PluggedIn = Yes;
ProcessID = 8877;
ProcessName = testMyPhone;
ProcessStatus = 2;
ProcessesInformation = (
{
Flags = 512;
Name = "kernel_task";
PID = 0;
ParentID = "-1";
Priority = 21;
StartDate = "2014-02-20 23:45:27 +0000";
Status = 2;
},
{
Flags = "-2147467264";
Name = launchd;
PID = 1;
ParentID = "-1";
Priority = 24;
StartDate = "2014-02-20 23:45:27 +0000";
Status = 2;
},
{
Flags = 16384;
Name = UserEventAgent;
PID = 19;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = BTServer;
PID = 21;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = SpringBoard;
PID = 26;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = aggregated;
PID = 27;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = backboardd;
PID = 32;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16392;
Name = configd;
PID = 34;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "fairplayd.O2";
PID = 37;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = fseventsd;
PID = 38;
ParentID = 1;
Priority = 50;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = iaptransportd;
PID = 39;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = identityservices;
PID = 40;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = imagent;
PID = 41;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = locationd;
PID = 42;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = mDNSResponder;
PID = 44;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = mediaserverd;
PID = 47;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = lockdownd;
PID = 54;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = powerd;
PID = 62;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = sharingd;
PID = 65;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = syslogd;
PID = 67;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = wifid;
PID = 72;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16640;
Name = baiduimd;
PID = 75;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:36 +0000";
Status = 2;
},
{
Flags = 16384;
Name = notifyd;
PID = 131;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:37 +0000";
Status = 2;
},
{
Flags = 16384;
Name = distnoted;
PID = 140;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:38 +0000";
Status = 2;
},
{
Flags = 16384;
Name = networkd;
PID = 151;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:39 +0000";
Status = 2;
},
{
Flags = 16384;
Name = apsd;
PID = 163;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-20 23:45:42 +0000";
Status = 2;
},
{
Flags = 16384;
Name = tccd;
PID = 188;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:45:44 +0000";
Status = 2;
},
{
Flags = 16384;
Name = touchsetupd;
PID = 211;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:46:00 +0000";
Status = 2;
},
{
Flags = 16384;
Name = filecoordination;
PID = 240;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:46:24 +0000";
Status = 2;
},
{
Flags = 16384;
Name = calaccessd;
PID = 257;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-20 23:46:34 +0000";
Status = 2;
},
{
Flags = 16384;
Name = dataaccessd;
PID = 423;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-21 00:07:06 +0000";
Status = 2;
},
{
Flags = 16384;
Name = kbd;
PID = 542;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-21 02:52:05 +0000";
Status = 2;
},
{
Flags = 16384;
Name = mediaremoted;
PID = 594;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-21 03:25:37 +0000";
Status = 2;
},
{
Flags = 16384;
Name = EscrowSecurityAl;
PID = 1199;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-21 15:47:13 +0000";
Status = 2;
},
{
Flags = 16384;
Name = MobileMail;
PID = 2161;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-22 11:19:28 +0000";
Status = 2;
},
{
Flags = 16384;
Name = itunesstored;
PID = 3814;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-23 23:36:45 +0000";
Status = 2;
},
{
Flags = 16384;
Name = CVMServer;
PID = 4639;
ParentID = 1;
Priority = 40;
StartDate = "2014-02-24 09:11:07 +0000";
Status = 2;
},
{
Flags = 16384;
Name = gamed;
PID = 6872;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-25 13:51:48 +0000";
Status = 2;
},
{
Flags = 16384;
Name = DuetLST;
PID = 7039;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-25 14:21:38 +0000";
Status = 2;
},
{
Flags = 16384;
Name = securityd;
PID = 7041;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-25 14:21:39 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "networkd_privile";
PID = 7051;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-25 14:21:44 +0000";
Status = 2;
},
{
Flags = 16384;
Name = geod;
PID = 8440;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:09:21 +0000";
Status = 2;
},
{
Flags = 16384;
Name = lsd;
PID = 8450;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:09:33 +0000";
Status = 2;
},
{
Flags = 16384;
Name = installd;
PID = 8452;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:09:33 +0000";
Status = 2;
},
{
Flags = 16384;
Name = sandboxd;
PID = 8454;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:10:38 +0000";
Status = 2;
},
{
Flags = 16384;
Name = itunescloudd;
PID = 8457;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:10:51 +0000";
Status = 2;
},
{
Flags = 16384;
Name = CommCenterClassi;
PID = 8459;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:10:51 +0000";
Status = 2;
},
{
Flags = 16384;
Name = medialibraryd;
PID = 8467;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:10:55 +0000";
Status = 2;
},
{
Flags = 16384;
Name = accountsd;
PID = 8477;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:11:20 +0000";
Status = 2;
},
{
Flags = 16384;
Name = aosnotifyd;
PID = 8489;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:12:39 +0000";
Status = 2;
},
{
Flags = 16384;
Name = MobileGestaltHel;
PID = 8496;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:12:41 +0000";
Status = 2;
},
{
Flags = 16384;
Name = mobileassetd;
PID = 8506;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:12:50 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "com.apple.Stream";
PID = 8514;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:12:59 +0000";
Status = 2;
},
{
Flags = 16384;
Name = AppleIDAuthAgent;
PID = 8518;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-26 23:13:07 +0000";
Status = 2;
},
{
Flags = 16384;
Name = librariand;
PID = 8522;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:13:08 +0000";
Status = 2;
},
{
Flags = 16384;
Name = wirelessproxd;
PID = 8540;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:16:11 +0000";
Status = 2;
},
{
Flags = 16384;
Name = routined;
PID = 8546;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:16:57 +0000";
Status = 2;
},
{
Flags = 16384;
Name = storebookkeeperd;
PID = 8550;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-26 23:22:10 +0000";
Status = 2;
},
{
Flags = 16384;
Name = timed;
PID = 8554;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:24:48 +0000";
Status = 2;
},
{
Flags = 16384;
Name = adid;
PID = 8563;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:38:35 +0000";
Status = 2;
},
{
Flags = 16640;
Name = xpcd;
PID = 8580;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:52:10 +0000";
Status = 2;
},
{
Flags = 16640;
Name = IMDPersistenceAg;
PID = 8582;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-26 23:52:11 +0000";
Status = 2;
},
{
Flags = 16384;
Name = ptpd;
PID = 8623;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 00:39:14 +0000";
Status = 2;
},
{
Flags = 16384;
Name = afcd;
PID = 8625;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 00:39:14 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "mobile_installat";
PID = 8631;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-27 00:39:15 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "notification_pro";
PID = 8633;
ParentID = 1;
Priority = 40;
StartDate = "2014-02-27 00:39:15 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "syslog_relay";
PID = 8637;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-27 00:39:15 +0000";
Status = 2;
},
{
Flags = 16384;
Name = XcodeDeviceMonit;
PID = 8639;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-27 00:39:15 +0000";
Status = 2;
},
{
Flags = 16384;
Name = ubd;
PID = 8643;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-27 00:39:16 +0000";
Status = 2;
},
{
Flags = 16384;
Name = voiced;
PID = 8664;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 00:53:37 +0000";
Status = 2;
},
{
Flags = 16384;
Name = SystemServicesDe;
PID = 8862;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 02:14:43 +0000";
Status = 2;
},
{
Flags = 16384;
Name = syncdefaultsd;
PID = 8871;
ParentID = 1;
Priority = 32;
StartDate = "2014-02-27 02:16:43 +0000";
Status = 2;
},
{
Flags = 16384;
Name = debugserver;
PID = 8875;
ParentID = 1;
Priority = 24;
StartDate = "2014-02-27 02:16:44 +0000";
Status = 2;
},
{
Flags = 18432;
Name = testMyPhone;
PID = 8877;
ParentID = 8875;
Priority = 24;
StartDate = "2014-02-27 02:16:44 +0000";
Status = 2;
},
{
Flags = 16384;
Name = assistantd;
PID = 8878;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 02:16:54 +0000";
Status = 2;
},
{
Flags = 16384;
Name = "assistant_servic";
PID = 8882;
ParentID = 1;
Priority = 17;
StartDate = "2014-02-27 02:16:56 +0000";
Status = 2;
}
);
ProcessorBusSpeed = 995;
ProcessorSpeed = 1026;
ProximitySensorEnabled = No;
"PurgableMemory (Formatted)" = "2.330780";
"PurgableMemory (Not Formatted)" = "11.933594";
ScreenBrightness = "74.338623";
ScreenHeight = 568;
ScreenWidth = 320;
SystemDeviceType = "iPod5,1";
"SystemDeviceType Formatted" = Unknown;
SystemName = "iPhone OS";
SystemVersion = "7.0.4";
TimeZone = "Asia/Shanghai";
TotalMemory = "512.000000";
UniqueID = 6HH135102210002S;
"Uptime (dd hh mm)" = "3 18 35";
"UsedDiskSpace (Formatted)" = "71%";
"UsedDiskSpace (Not Formatted)" = "20.03 GB";
"UsedMemory (Formatted)" = "44.140625";
"UsedMemory (Not Formatted)" = "226.660156";
WiFiBroadcastAddress = "192.168.60.255";
WiFiIPAddress = "192.168.60.104";
WiFiMACAddress = "02:00:00:00:00:00";
WiFiNetmaskAddress = "255.255.255.0";
"WiredMemory (Formatted)" = "15.967560";
"WiredMemory (Not Formatted)" = "81.753906";
}
2014-02-27 10:17:08.809 testMyPhone[8877:60b] ===========================================================
用 iOS-System-Services 框架获取iOS设备所用的设备信息的更多相关文章
- iOS System Services
System Services is a singleton class to gather all available information about a device. Over 75 met ...
- 利用AddressBook.framework框架获取iOS系统通讯录数据
此方法是使用AddressBook.framework框架获取通讯录信息 第一步.在info.plist文件里面配置访问权限 第二步.导入头文件 #import <AddressBook/Add ...
- 【转】iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?
本文讲诉的主要是为什么苹果2011年8月发布iOS 5后就开始拒绝App获取设备的UDID以及UDID替补方案,特别提醒开发者苹果App Store禁止访问UDID的应用上架(相关推荐:APP被苹果A ...
- Unity3D开发之“获取IOS设备所在的国家代码"
原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...
- 获取iOS设备唯一标识
[获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在 ...
- 获取iOS设备型号的方法总结
三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. uname(struct utsname *name) ,使用此函数需要#i ...
- iOS学习——获取iOS设备的各种信息
不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...
- 获取ios设备的udid
今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...
- iOS开发-Swift获取手机设备信息(UIDevice)
使用UiDevice获取设备信息 获取设备名称 let name = UIDevice.currentDevice().name 获取设备系统名称 let systemName = UIDevice. ...
随机推荐
- **CI创建类库(创建自己的工具类等)
创建类库 当我们使用术语"类库"时,我们一般指的是位于libraries 文件夹中的类,它们在wiki的"类库参考"这个板块被讨论.在当前这个话题中,我们将讨论 ...
- #JS attr和prop的区别
HTML元素固有属性:使用prop方法 HTML元素自定义属性:使用attr方法
- [过程记录]Centos7 下 Hadoop分布式集群搭建
过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...
- mysql varchar 转 decimal
在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序.sql怎么写呢. 别担心MySQL提 ...
- 003.Zabbix2.x-Server服务端安装
一 环境基础 1.1 部署基础环境 部署Zabbix需要LAMP或LANP环境,数据库可以为MySQL或者MariaDB.硬件及存储条件按需配置. 1.2 常见依赖列表列表 Web前端需要支持的软件环 ...
- ElasticSearch 入门总结
ElasticSearch 入门 本篇为 ElasticSearch 入门学习总结笔记,课程视频地址:ElasticSearch 入门 一.ElasticSearch 简介 1.1.什么是Elasti ...
- Android-Service和Thread
Android-Service和Thread 学习自 郭霖的博客 服务是运行在主线程上的 可能在我们第一次接触到Service的时候都是对于 __服务是运行在主线程上的 __这一现象不太理解,但是事实 ...
- BZOJ.3998.[TJOI2015]弦论(后缀自动机)
题目链接 \(Description\) 给定字符串S,求其第K小子串.(若T=0,不同位置的相同子串算1个:否则算作多个) \(Solution\) 建SAM,处理出对于每个节点,它和它的所有后继包 ...
- 8、Redis中sort命令详解
写在前面的话:读书破万卷,编码如有神 ------------------------------------------------- 1.排序 (1)sort:可以对List.Set.ZSet里面 ...
- Nancyfx框架在传统Webform项目中的应用
最近有个老项目需要做一个需求更迭,老项目是基于传统的webform项目的 为了更好的前后台交互,决定引入Nancyfx框架 关于Nancyfx框架框架是啥就不多介绍了 总的来说是一款轻量级的web框架 ...