用 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. ...
随机推荐
- jQuery下的onChange事件在某些情况下无效
onChage无效的原因: 虽然表面上感觉是当内容发生变化时,就会触发onchange事件,但是那只能在页面上操作.而如果通过dom对象去修改它的value则什么事也不会发生. onchange触发原 ...
- 2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- Sqlserver中PIVOT行转列透视操作
创建表: IF OBJECT_ID('T040_PRODUCT_SALES') IS NOT NULL DROP TABLE T040_PRODUCT_SALES create table T040_ ...
- hadoop2.5搭建过程
1 搭建环境所使用的资源 VMware Workstation 9 ubuntu-14.04.2-desktop-amd64.iso jdk-7u80-linux-x64.tar.gz hadoop- ...
- 【LOJ】#6434. 「PKUSC2018」主斗地
题解 什么,我这题竟然快到了LOJ rk1???? 搜起来有点麻烦,不过感觉还是比斗地主好下手(至今没敢写斗地主 首先是暴力搜牌型,最多\(3^{16}\)(什么判解还要复杂度怂成一团)的样子?? 然 ...
- js判断设备是都是pc端
function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android" ...
- (3)python tkinter-消息框、对话框、文件对话框
消息框 导入 import tkinter import tkinter.messagebox #这个是消息框,对话框的关键 提示消息框 tkinter.messagebox.showinfo('提示 ...
- 002.NFS相关配置项
一 配置文件(/etc/exports) 1.1 配置文件格式 <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)] 二 输出目录 ...
- linux下mysql操作命令集合
转载:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/18/2216279.html 1.linux下启动mysql的命令:mysq ...
- Javascript实现一个插件
写一个插件,兼容commonjs,amd,cmd,原生js. ;(function (global, factory) { if(typeof define == 'function' &&a ...