用 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. ...
随机推荐
- Learning coding online
A lot of online courses for coding skills are available nowadays, both free and non-free. I will col ...
- Android studio2.3.3升级3.1.2坑
原文:https://blog.csdn.net/qq_26361871/article/details/80255141 1.grade配置Error: Could not find com.and ...
- EntityFramework系列:SQLite的CodeFrist和RowVersion
没什么好说的,能支持DropCreateDatabaseIfModelChanges和RowVersion的Sqlite谁都想要.EntityFramework7正在添加对Sqlite的支持,虽然EF ...
- Python 项目实践三(Web应用程序) 第三篇
接着上节的继续学习,现在要显示所有主题的页面 有了高效的网页创建方法,就能专注于另外两个网页了:显示全部主题的网页以及显示特定主题中条目的网页.所有主题页面显示用户创建的所有主题,它是第一个需要使用数 ...
- iOS开发安全 架构
网络通讯.本地文件和数据.源代码三方面 网络通讯 安全的传输用户密码 客户端在登录时,使用公钥将用户的密码加密后,将密文传输到服务器.服务器使用私钥将密码解密,然后加盐 (Salt:在密码学中,是指通 ...
- Codeforces.1027F.Session in BSU(思路 并查集)
题目链接 \(Description\) 有\(n\)个人都要参加考试,每个人可以在\(ai\)或\(bi\)天考试,同一天不能有两个人考试.求最晚考试的人的时间最早能是多少.无解输出-1. \(So ...
- hihoCoder.1457.后缀自动机四 重复旋律7(广义后缀自动机)
题目链接 假设我们知道一个节点表示的子串的和sum,表示的串的个数cnt,那么它会给向数字x转移的节点p贡献 \(sum\times 10+c\times cnt\) 的和. 建广义SAM,按拓扑序正 ...
- 【10.31校内测试】【组合数学】【记忆化搜索/DP】【多起点多终点二进制拆位Spfa】
Solution 注意取模!!! Code #include<bits/stdc++.h> #define mod 1000000007 #define LL long long usin ...
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E. Goods transportation 动态规划
E. Goods transportation 题目连接: http://codeforces.com/contest/724/problem/E Description There are n ci ...
- 高性能server分析 - Hadoop的RpcServer
一.Listener Listener线程,当Server处于运行状态时,其负责监听来自客户端的连接,并使用Select模式处理Accept事件. 同时,它开启了一个空闲连接(Idle Connect ...